mac80211: send null packet on active (psm) reconfiguration

The sta might be in psm against the ap (e.g. because
this was the before a hw restart), so we explicitly
send a null packet in order to make sure it'll
sync against the ap (and get out of psm).

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Eliad Peller 2012-01-26 13:36:05 +02:00 committed by John W. Linville
parent 6269cc83e7
commit 6e1b1b2460
1 changed files with 15 additions and 0 deletions

View File

@ -1271,6 +1271,21 @@ int ieee80211_reconfig(struct ieee80211_local *local)
ieee80211_recalc_ps(local, -1);
/*
* The sta might be in psm against the ap (e.g. because
* this was the state before a hw restart), so we
* explicitly send a null packet in order to make sure
* it'll sync against the ap (and get out of psm).
*/
if (!(local->hw.conf.flags & IEEE80211_CONF_PS)) {
list_for_each_entry(sdata, &local->interfaces, list) {
if (sdata->vif.type != NL80211_IFTYPE_STATION)
continue;
ieee80211_send_nullfunc(local, sdata, 0);
}
}
/*
* Clear the WLAN_STA_BLOCK_BA flag so new aggregation
* sessions can be established after a resume.