cfg80211: reject HT/VHT capabilities on 6 GHz band
authorJohannes Berg <johannes.berg@intel.com>
Thu, 28 May 2020 19:34:41 +0000 (21:34 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Sun, 31 May 2020 09:27:11 +0000 (11:27 +0200)
On the 6 GHz band, HE should be used, but without any direct HT/VHT
capabilities, instead the HE 6 GHz band capabilities will capture
the relevant information. Reject HT/VHT capabilities here.

Link: https://lore.kernel.org/r/20200528213443.bfe89c35459a.Ibba5e066fa0087fd49d13cfee89d196ea0c68ae2@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/core.c

index b795f363d004a5c6a450922745c966399ef32b5c..1651f86db6caeb0b381b9bf604e59a799fb896fe 100644 (file)
@@ -5,7 +5,7 @@
  * Copyright 2006-2010         Johannes Berg <johannes@sipsolutions.net>
  * Copyright 2013-2014  Intel Mobile Communications GmbH
  * Copyright 2015-2017 Intel Deutschland GmbH
- * Copyright (C) 2018-2019 Intel Corporation
+ * Copyright (C) 2018-2020 Intel Corporation
  */
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
@@ -807,6 +807,11 @@ int wiphy_register(struct wiphy *wiphy)
                            !sband->n_bitrates))
                        return -EINVAL;
 
+               if (WARN_ON(band == NL80211_BAND_6GHZ &&
+                           (sband->ht_cap.ht_supported ||
+                            sband->vht_cap.vht_supported)))
+                       return -EINVAL;
+
                /*
                 * Since cfg80211_disable_40mhz_24ghz is global, we can
                 * modify the sband's ht data even if the driver uses a