diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-08-01 20:13:36 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-08-01 20:13:36 +0200 |
commit | 19c3b8303d4686aa373c669ee833609b3fb403cc (patch) | |
tree | f21c93a2e7a24981da3a09c42cad1eea9bb84158 | |
parent | e83e6541cee0a12bc445b0f4fad5214df5803087 (diff) | |
download | linux-3.10-19c3b8303d4686aa373c669ee833609b3fb403cc.tar.gz linux-3.10-19c3b8303d4686aa373c669ee833609b3fb403cc.tar.bz2 linux-3.10-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>
-rw-r--r-- | net/mac80211/mlme.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index c416a08d90f..9d60b499363 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; |