wifi: wireless: deny wireless extensions on MLO-capable devices
authorJohannes Berg <johannes.berg@intel.com>
Wed, 18 Jan 2023 09:51:53 +0000 (10:51 +0100)
committerKalle Valo <kvalo@kernel.org>
Thu, 19 Jan 2023 18:01:41 +0000 (20:01 +0200)
These are WiFi 7 devices that will be introduced into the market
in 2023, with new drivers. Wireless extensions haven't been in
real development since 2006. Since wireless has evolved a lot,
and continues to evolve significantly with Multi-Link Operation,
there's really no good way to still support wireless extensions
for devices that do MLO.

Stop supporting wireless extensions for new devices. We don't
consider this a regression since no such devices (apart from
hwsim) exist yet.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230118105152.45f85078a1e0.Ib9eabc2ec5bf6b0244e4d973e93baaa3d8c91bd8@changeid
net/wireless/wext-core.c

index 6e5f5ea..13a72b1 100644 (file)
@@ -662,6 +662,8 @@ struct iw_statistics *get_wireless_stats(struct net_device *dev)
            dev->ieee80211_ptr->wiphy->wext &&
            dev->ieee80211_ptr->wiphy->wext->get_wireless_stats) {
                wireless_warn_cfg80211_wext();
+               if (dev->ieee80211_ptr->wiphy->flags & WIPHY_FLAG_SUPPORTS_MLO)
+                       return NULL;
                return dev->ieee80211_ptr->wiphy->wext->get_wireless_stats(dev);
        }
 #endif
@@ -702,6 +704,8 @@ static iw_handler get_handler(struct net_device *dev, unsigned int cmd)
 #ifdef CONFIG_CFG80211_WEXT
        if (dev->ieee80211_ptr && dev->ieee80211_ptr->wiphy) {
                wireless_warn_cfg80211_wext();
+               if (dev->ieee80211_ptr->wiphy->flags & WIPHY_FLAG_SUPPORTS_MLO)
+                       return NULL;
                handlers = dev->ieee80211_ptr->wiphy->wext;
        }
 #endif