On Tue, 2012-05-29 at 02:00 -0700, Eyal Shapira wrote: > 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. Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: stable I think as well > Signed-off-by: Eyal Shapira <eyal@xxxxxxxxxx> > --- > The diff is a bit confusing as it appears to > be messing with the keys but actually what happens > here is that we move the BLOCK_BA code block > below the wake_up label so it'll get called in > the wowlan path as well. > Git was adamant about formatting the diff this way. > > 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 22f2216..a44c680 100644 > --- a/net/mac80211/util.c > +++ b/net/mac80211/util.c > @@ -1371,6 +1371,12 @@ int ieee80211_reconfig(struct ieee80211_local *local) > } > } > > + /* add back keys */ > + list_for_each_entry(sdata, &local->interfaces, list) > + if (ieee80211_sdata_running(sdata)) > + ieee80211_enable_keys(sdata); > + > + wake_up: > /* > * Clear the WLAN_STA_BLOCK_BA flag so new aggregation > * sessions can be established after a resume. > @@ -1392,12 +1398,6 @@ int ieee80211_reconfig(struct ieee80211_local *local) > mutex_unlock(&local->sta_mtx); > } > > - /* add back keys */ > - list_for_each_entry(sdata, &local->interfaces, list) > - if (ieee80211_sdata_running(sdata)) > - ieee80211_enable_keys(sdata); > - > - wake_up: > ieee80211_wake_queues_by_reason(hw, > IEEE80211_QUEUE_STOP_REASON_SUSPEND); > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html