diff options
author | Eyal Shapira <eyal@wizery.com> | 2012-05-29 05:00:22 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-05-29 13:45:24 -0400 |
commit | 7b21aea04d084916ac4e0e8852dcc9cd60ec0d1d (patch) | |
tree | 0f01bb40607f9a48ac39e7e2a4eb4eda4ec48fcb | |
parent | 4161923a2410e8d0dd04ebbf93dde46552c07492 (diff) |
mac80211: fix ADDBA declined after suspend with wowlan
WLAN_STA_BLOCK_BA is set while suspending but doesn't get cleared
when resuming in case of wowlan. This causes further ADDBA requests
received to be rejected. Fix it by clearing it in the wowlan path
as well.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Cc: stable@vger.kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | net/mac80211/util.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 22f2216b397e..a44c6807df01 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -1371,6 +1371,12 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
1371 | } | 1371 | } |
1372 | } | 1372 | } |
1373 | 1373 | ||
1374 | /* add back keys */ | ||
1375 | list_for_each_entry(sdata, &local->interfaces, list) | ||
1376 | if (ieee80211_sdata_running(sdata)) | ||
1377 | ieee80211_enable_keys(sdata); | ||
1378 | |||
1379 | wake_up: | ||
1374 | /* | 1380 | /* |
1375 | * Clear the WLAN_STA_BLOCK_BA flag so new aggregation | 1381 | * Clear the WLAN_STA_BLOCK_BA flag so new aggregation |
1376 | * sessions can be established after a resume. | 1382 | * sessions can be established after a resume. |
@@ -1392,12 +1398,6 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
1392 | mutex_unlock(&local->sta_mtx); | 1398 | mutex_unlock(&local->sta_mtx); |
1393 | } | 1399 | } |
1394 | 1400 | ||
1395 | /* add back keys */ | ||
1396 | list_for_each_entry(sdata, &local->interfaces, list) | ||
1397 | if (ieee80211_sdata_running(sdata)) | ||
1398 | ieee80211_enable_keys(sdata); | ||
1399 | |||
1400 | wake_up: | ||
1401 | ieee80211_wake_queues_by_reason(hw, | 1401 | ieee80211_wake_queues_by_reason(hw, |
1402 | IEEE80211_QUEUE_STOP_REASON_SUSPEND); | 1402 | IEEE80211_QUEUE_STOP_REASON_SUSPEND); |
1403 | 1403 | ||