nl80211: fix channel switch parsing
authorAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Thu, 17 Oct 2013 08:52:17 +0000 (10:52 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 28 Oct 2013 14:13:04 +0000 (15:13 +0100)
The nl80211 attribute NL80211_ATTR_CSA_C_OFF_BEACON should be nested
inside NL80211_ATTR_CSA_IES, but commit ee4bc9e75811d2c0cb5f2a2fc5b5
("nl80211: enable IBSS support for channel switch announcements")
added a check in the outer message attributes.

Fix channel switch calls by removing the erroneus condition.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
[reword commit message]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/nl80211.c

index c49f0af61d5e8020cefaeebb07c7b24b251fb4ff..8ced6bc29f4a9c67d4c929110f16b455c8bac343 100644 (file)
@@ -5713,9 +5713,7 @@ static int nl80211_channel_switch(struct sk_buff *skb, struct genl_info *info)
                return -EINVAL;
 
        /* only important for AP, IBSS and mesh create IEs internally */
-       if (need_new_beacon &&
-           (!info->attrs[NL80211_ATTR_CSA_IES] ||
-            !info->attrs[NL80211_ATTR_CSA_C_OFF_BEACON]))
+       if (need_new_beacon && !info->attrs[NL80211_ATTR_CSA_IES])
                return -EINVAL;
 
        params.count = nla_get_u32(info->attrs[NL80211_ATTR_CH_SWITCH_COUNT]);