From 4a7b8a8251f25b86aeb03ea09250972f23fe9f60 Mon Sep 17 00:00:00 2001 From: Eyal Shapira Date: Wed, 20 Jun 2012 13:10:14 +0300 Subject: [PATCH] --- yaml --- r: 314828 b: refs/heads/master c: 9ea4fa158f3a038d5be82ccc7e142f198233f059 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/mac80211/pm.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b94371424b5f..ae6180ae8044 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 00e96decfd0b927f975c98340a5982c5039eeaae +refs/heads/master: 9ea4fa158f3a038d5be82ccc7e142f198233f059 diff --git a/trunk/net/mac80211/pm.c b/trunk/net/mac80211/pm.c index 98c128be3827..5c572e7a1a71 100644 --- a/trunk/net/mac80211/pm.c +++ b/trunk/net/mac80211/pm.c @@ -78,6 +78,16 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) if (err < 0) { local->quiescing = false; local->wowlan = false; + if (hw->flags & IEEE80211_HW_AMPDU_AGGREGATION) { + mutex_lock(&local->sta_mtx); + list_for_each_entry(sta, + &local->sta_list, list) { + clear_sta_flag(sta, WLAN_STA_BLOCK_BA); + } + mutex_unlock(&local->sta_mtx); + } + ieee80211_wake_queues_by_reason(hw, + IEEE80211_QUEUE_STOP_REASON_SUSPEND); return err; } else if (err > 0) { WARN_ON(err != 1);