aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEyal Shapira <eyal@wizery.com>2012-05-29 05:00:22 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-05-29 13:45:24 -0400
commit7b21aea04d084916ac4e0e8852dcc9cd60ec0d1d (patch)
tree0f01bb40607f9a48ac39e7e2a4eb4eda4ec48fcb
parent4161923a2410e8d0dd04ebbf93dde46552c07492 (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.c12
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