aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/util.c
diff options
context:
space:
mode:
authorEyal Shapira <eyal@wizery.com>2012-05-29 05:00:22 -0400
committerLuis Henriques <luis.henriques@canonical.com>2012-07-03 11:29:00 -0400
commit9b3953fe0dfc3b9cb3f6ee912dc8b17a9824a5fc (patch)
treee29536a80e43ca3328d5c42d5e2633e425540662 /net/mac80211/util.c
parentf2d440a8b0e6384e3f1c95ed99c8700661e347ca (diff)
mac80211: fix ADDBA declined after suspend with wowlan
BugLink: http://bugs.launchpad.net/bugs/1013748 commit 7b21aea04d084916ac4e0e8852dcc9cd60ec0d1d upstream. 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> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
Diffstat (limited to 'net/mac80211/util.c')
-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 444673da0f5..5e186156a03 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1258,6 +1258,12 @@ int ieee80211_reconfig(struct ieee80211_local *local)
1258 } 1258 }
1259 } 1259 }
1260 1260
1261 /* add back keys */
1262 list_for_each_entry(sdata, &local->interfaces, list)
1263 if (ieee80211_sdata_running(sdata))
1264 ieee80211_enable_keys(sdata);
1265
1266 wake_up:
1261 /* 1267 /*
1262 * Clear the WLAN_STA_BLOCK_BA flag so new aggregation 1268 * Clear the WLAN_STA_BLOCK_BA flag so new aggregation
1263 * sessions can be established after a resume. 1269 * sessions can be established after a resume.
@@ -1279,12 +1285,6 @@ int ieee80211_reconfig(struct ieee80211_local *local)
1279 mutex_unlock(&local->sta_mtx); 1285 mutex_unlock(&local->sta_mtx);
1280 } 1286 }
1281 1287
1282 /* add back keys */
1283 list_for_each_entry(sdata, &local->interfaces, list)
1284 if (ieee80211_sdata_running(sdata))
1285 ieee80211_enable_keys(sdata);
1286
1287 wake_up:
1288 ieee80211_wake_queues_by_reason(hw, 1288 ieee80211_wake_queues_by_reason(hw,
1289 IEEE80211_QUEUE_STOP_REASON_SUSPEND); 1289 IEEE80211_QUEUE_STOP_REASON_SUSPEND);
1290 1290