aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2010-02-10 04:22:21 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-02-10 16:36:52 -0500
commit4cad6c7c38930618d77e65af82c1403d63879eee (patch)
tree9e8c14e0819c42c8ac290f6a0bba5ca45a3ecef2 /net/mac80211/mlme.c
parentf32338319f10c4ca5499c19edc5b3618896920ba (diff)
mac80211: Deny TX BA session requests during disassociation
In associated state, when bringing an interface down, existing BA sessions are torn down. When this is in progress, nothing prevents mac80211 from accepting another BA session start request. Use a new station flag to fix this. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index ee9443dc20ff..bfc4a5070013 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -797,8 +797,10 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata)
797 797
798 rcu_read_lock(); 798 rcu_read_lock();
799 sta = sta_info_get(sdata, bssid); 799 sta = sta_info_get(sdata, bssid);
800 if (sta) 800 if (sta) {
801 set_sta_flags(sta, WLAN_STA_DISASSOC);
801 ieee80211_sta_tear_down_BA_sessions(sta); 802 ieee80211_sta_tear_down_BA_sessions(sta);
803 }
802 rcu_read_unlock(); 804 rcu_read_unlock();
803 805
804 changed |= ieee80211_reset_erp_info(sdata); 806 changed |= ieee80211_reset_erp_info(sdata);