mac80211: Do not disconnect on invalid operating class
authorIlan Peer <ilan.peer@intel.com>
Mon, 19 Feb 2018 12:48:42 +0000 (14:48 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 05:51:58 +0000 (07:51 +0200)
commit707c81727baa201e125241f5a82cc5726fa3f7a6
tree5c93b0c995f7dcbeec7256dade5d6cd8ed906c8f
parentf6bfc88f14cc176d9dae7739ab19a3e59b101f57
mac80211: Do not disconnect on invalid operating class

[ Upstream commit 191da271ac260700db3e5b4bb982a17ca78769d6 ]

Some APs include a non global operating class in their extended channel
switch information element. In such a case, as the operating class is not
known, mac80211 would decide to disconnect.

However the specification states that the operating class needs to be
taken from Annex E, but it does not specify from which table it should be
taken, so it is valid for an AP to use a non global operating class.

To avoid possibly unneeded disconnection, in such a case ignore the
operating class and assume that the current band is used, and if the
resulting channel and band configuration is invalid disconnect.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mac80211/spectmgmt.c