cfg80211: Fix 160 MHz channels with 80+80 and 160 MHz drivers
authorJouni Malinen <jouni@qca.qualcomm.com>
Thu, 11 Dec 2014 21:48:55 +0000 (23:48 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Jan 2015 15:52:31 +0000 (07:52 -0800)
commitb1039f726b3e71de4765a93ac322f01762a24e92
treebdef012ab54ae5ab3d7248faa71095a6b837f6ad
parentecdf1f4e8a19fbb398eeac8705e9209d93cd89ac
cfg80211: Fix 160 MHz channels with 80+80 and 160 MHz drivers

commit 08f6f147773b23b765b94633a8eaa82e7defcf4c upstream.

The VHT supported channel width field is a two bit integer, not a
bitfield. cfg80211_chandef_usable() was interpreting it incorrectly and
ended up rejecting 160 MHz channel width if the driver indicated support
for both 160 and 80+80 MHz channels.

Fixes: 3d9d1d6656a73 ("nl80211/cfg80211: support VHT channel configuration")
       (however, no real drivers had 160 MHz support it until 3.16)
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/wireless/chan.c