diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-03-26 17:13:58 +0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-04-16 17:29:43 +0400 |
commit | b4f286a1c0ad0b84c2d502b354d4d98d5a86c64b (patch) | |
tree | f2cb487aaab163dff52c0588c1a80b1aaa951a89 /net/mac80211/util.c | |
parent | 1ce3e82b0eb472161313183be0033e46d5c4bbaf (diff) | |
download | linux-b4f286a1c0ad0b84c2d502b354d4d98d5a86c64b.tar.xz |
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, } elems->ch_switch_ie = (void *)pos; break; + case WLAN_EID_EXT_CHANSWITCH_ANN: + if (elen != sizeof(struct ieee80211_ext_chansw_ie)) { + elem_parse_failed = true; + break; + } + elems->ext_chansw_ie = (void *)pos; + break; case WLAN_EID_COUNTRY: elems->country_elem = pos; elems->country_elem_len = elen; |