diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-03-26 09:13:58 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-04-16 09:29:43 -0400 |
commit | b4f286a1c0ad0b84c2d502b354d4d98d5a86c64b (patch) | |
tree | f2cb487aaab163dff52c0588c1a80b1aaa951a89 /net/mac80211/util.c | |
parent | 1ce3e82b0eb472161313183be0033e46d5c4bbaf (diff) |
mac80211: support extended channel switch
Support extended channel switch when the operating
class is one of the global operating classes as
defined in Annex E of 802.11-2012. If it isn't,
disconnect from the AP instead.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 1d6217ac3ba3..e4a6d559372d 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -863,6 +863,13 @@ u32 ieee802_11_parse_elems_crc(u8 *start, size_t len, | |||
863 | } | 863 | } |
864 | elems->ch_switch_ie = (void *)pos; | 864 | elems->ch_switch_ie = (void *)pos; |
865 | break; | 865 | break; |
866 | case WLAN_EID_EXT_CHANSWITCH_ANN: | ||
867 | if (elen != sizeof(struct ieee80211_ext_chansw_ie)) { | ||
868 | elem_parse_failed = true; | ||
869 | break; | ||
870 | } | ||
871 | elems->ext_chansw_ie = (void *)pos; | ||
872 | break; | ||
866 | case WLAN_EID_COUNTRY: | 873 | case WLAN_EID_COUNTRY: |
867 | elems->country_elem = pos; | 874 | elems->country_elem = pos; |
868 | elems->country_elem_len = elen; | 875 | elems->country_elem_len = elen; |