Commit b5d4d98e authored by Jérôme Pouiller's avatar Jérôme Pouiller Committed by Greg Kroah-Hartman

staging: wfx: firmware never return PS status for stations

At the beginning, firmware could send suspend_resume indication to
notify that a station wake up or sleep down. However, mac80211 already
handles power save status of stations and this behavior has been removed
from the firmware. So now, when suspend_resume indication is received,
it is always to notify that a DTIM is about to be sent.

So, it is possible to simply wfx_suspend_resume().
Signed-off-by: default avatarJérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200115135338.14374-56-Jerome.Pouiller@silabs.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6537adc3
......@@ -985,20 +985,16 @@ int wfx_ampdu_action(struct ieee80211_hw *hw,
return -ENOTSUPP;
}
static void wfx_dtim_notify(struct wfx_vif *wvif)
{
spin_lock_bh(&wvif->ps_state_lock);
wvif->sta_asleep_mask = 0;
wfx_bh_request_tx(wvif->wdev);
spin_unlock_bh(&wvif->ps_state_lock);
}
void wfx_suspend_resume(struct wfx_vif *wvif,
const struct hif_ind_suspend_resume_tx *arg)
{
if (arg->suspend_resume_flags.bc_mc_only) {
bool cancel_tmo = false;
if (!arg->suspend_resume_flags.bc_mc_only) {
dev_warn(wvif->wdev->dev, "unsupported suspend/resume notification\n");
return;
}
spin_lock_bh(&wvif->ps_state_lock);
if (!arg->suspend_resume_flags.resume)
wvif->mcast_tx = false;
......@@ -1012,11 +1008,6 @@ void wfx_suspend_resume(struct wfx_vif *wvif,
spin_unlock_bh(&wvif->ps_state_lock);
if (cancel_tmo)
del_timer_sync(&wvif->mcast_timeout);
} else if (arg->suspend_resume_flags.resume) {
wfx_dtim_notify(wvif);
} else {
dev_warn(wvif->wdev->dev, "unsupported suspend/resume notification\n");
}
}
int wfx_add_chanctx(struct ieee80211_hw *hw,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment