aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-03-12 02:53:29 -0400
committerJohannes Berg <johannes.berg@intel.com>2015-03-16 04:36:11 -0400
commit70a3fd6c61c46c07c63cab935dca9a17d8de1709 (patch)
treed4d387ead57237196d50f29dce781a92d9f15ad0 /net/mac80211
parent0f611d28fc2e13cfec64e1c544c16a086886805a (diff)
mac80211: ask for ECSA IE to be considered for beacon parse CRC
When a beacon from the AP contains only the ECSA IE, and not a CSA IE as well, this ECSA IE is not considered for calculating the CRC and the beacon might be dropped as not being interesting. This is clearly wrong, it should be handled and the channel switch should be executed. Fix this by including the ECSA IE ID in the bitmap of interesting IEs. Reported-by: Gil Tribush <gil.tribush@intel.com> Reviewed-by: Luciano Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/mlme.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 10ac6324c1d0..cde8cd3d6595 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -3204,7 +3204,8 @@ static const u64 care_about_ies =
3204 (1ULL << WLAN_EID_CHANNEL_SWITCH) | 3204 (1ULL << WLAN_EID_CHANNEL_SWITCH) |
3205 (1ULL << WLAN_EID_PWR_CONSTRAINT) | 3205 (1ULL << WLAN_EID_PWR_CONSTRAINT) |
3206 (1ULL << WLAN_EID_HT_CAPABILITY) | 3206 (1ULL << WLAN_EID_HT_CAPABILITY) |
3207 (1ULL << WLAN_EID_HT_OPERATION); 3207 (1ULL << WLAN_EID_HT_OPERATION) |
3208 (1ULL << WLAN_EID_EXT_CHANSWITCH_ANN);
3208 3209
3209static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata, 3210static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
3210 struct ieee80211_mgmt *mgmt, size_t len, 3211 struct ieee80211_mgmt *mgmt, size_t len,