summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-08-01 20:13:36 +0200
committerJohannes Berg <johannes.berg@intel.com>2012-08-01 20:13:36 +0200
commit19c3b8303d4686aa373c669ee833609b3fb403cc (patch)
treef21c93a2e7a24981da3a09c42cad1eea9bb84158 /net/mac80211
parente83e6541cee0a12bc445b0f4fad5214df5803087 (diff)
downloadlinux-19c3b8303d4686aa373c669ee833609b3fb403cc.tar.gz
linux-19c3b8303d4686aa373c669ee833609b3fb403cc.tar.bz2
linux-19c3b8303d4686aa373c669ee833609b3fb403cc.zip
mac80211: reset station MLME flags upon new association
When associating anew, the old station MLME flags should be cleared. The only exception is the 40 MHz disable flag as it might have been set while the channel was set in a previous authentication attempt so it needs to be kept intact. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/mlme.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index c416a08d90f1..9d60b4993635 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -3357,10 +3357,13 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata,
}
/* prepare assoc data */
-
- ifmgd->flags &= ~IEEE80211_STA_DISABLE_11N;
- ifmgd->flags &= ~IEEE80211_STA_NULLFUNC_ACKED;
- ifmgd->flags &= ~IEEE80211_STA_DISABLE_VHT;
+
+ /*
+ * keep only the 40 MHz disable bit set as it might have
+ * been set during authentication already, all other bits
+ * should be reset for a new connection
+ */
+ ifmgd->flags &= IEEE80211_STA_DISABLE_40MHZ;
ifmgd->beacon_crc_valid = false;