* [PATCH 1/2] wifi: cfg80211: add a flag to disable wireless extensions
@ 2024-03-14 10:09 Johannes Berg
2024-03-14 10:09 ` [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being Johannes Berg
0 siblings, 1 reply; 11+ messages in thread
From: Johannes Berg @ 2024-03-14 10:09 UTC (permalink / raw)
To: linux-wireless; +Cc: Johannes Berg, stable
From: Johannes Berg <johannes.berg@intel.com>
Wireless extensions are already disabled if MLO is enabled,
given that we cannot support MLO there with all the hard-
coded assumptions about BSSID etc.
However, the WiFi7 ecosystem is still stabilizing, and some
devices may need MLO disabled while that happens. In that
case, we might end up with a device that supports wext (but
not MLO) in one kernel, and then breaks wext in the future
(by enabling MLO), which is not desirable.
Add a flag to let such drivers/devices disable wext even if
MLO isn't yet enabled.
Cc: stable@vger.kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
include/net/cfg80211.h | 2 ++
net/wireless/wext-core.c | 7 +++++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 2e2be4fd2bb6..1e09329acc42 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -4991,6 +4991,7 @@ struct cfg80211_ops {
* set this flag to update channels on beacon hints.
* @WIPHY_FLAG_SUPPORTS_NSTR_NONPRIMARY: support connection to non-primary link
* of an NSTR mobile AP MLD.
+ * @WIPHY_FLAG_DISABLE_WEXT: disable wireless extensions for this device
*/
enum wiphy_flags {
WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK = BIT(0),
@@ -5002,6 +5003,7 @@ enum wiphy_flags {
WIPHY_FLAG_4ADDR_STATION = BIT(6),
WIPHY_FLAG_CONTROL_PORT_PROTOCOL = BIT(7),
WIPHY_FLAG_IBSS_RSN = BIT(8),
+ WIPHY_FLAG_DISABLE_WEXT = BIT(9),
WIPHY_FLAG_MESH_AUTH = BIT(10),
WIPHY_FLAG_SUPPORTS_EXT_KCK_32 = BIT(11),
WIPHY_FLAG_SUPPORTS_NSTR_NONPRIMARY = BIT(12),
diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c
index a161c64d1765..838ad6541a17 100644
--- a/net/wireless/wext-core.c
+++ b/net/wireless/wext-core.c
@@ -4,6 +4,7 @@
* Authors : Jean Tourrilhes - HPL - <jt@hpl.hp.com>
* Copyright (c) 1997-2007 Jean Tourrilhes, All Rights Reserved.
* Copyright 2009 Johannes Berg <johannes@sipsolutions.net>
+ * Copyright (C) 2024 Intel Corporation
*
* (As all part of the Linux kernel, this file is GPL)
*/
@@ -662,7 +663,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)
+ if (dev->ieee80211_ptr->wiphy->flags & (WIPHY_FLAG_SUPPORTS_MLO |
+ WIPHY_FLAG_DISABLE_WEXT))
return NULL;
return dev->ieee80211_ptr->wiphy->wext->get_wireless_stats(dev);
}
@@ -704,7 +706,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)
+ if (dev->ieee80211_ptr->wiphy->flags & (WIPHY_FLAG_SUPPORTS_MLO |
+ WIPHY_FLAG_DISABLE_WEXT))
return NULL;
handlers = dev->ieee80211_ptr->wiphy->wext;
}
--
2.44.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being
2024-03-14 10:09 [PATCH 1/2] wifi: cfg80211: add a flag to disable wireless extensions Johannes Berg
@ 2024-03-14 10:09 ` Johannes Berg
2024-03-14 16:08 ` Kalle Valo
0 siblings, 1 reply; 11+ messages in thread
From: Johannes Berg @ 2024-03-14 10:09 UTC (permalink / raw)
To: linux-wireless; +Cc: Johannes Berg, stable, Miri Korenblit
From: Johannes Berg <johannes.berg@intel.com>
MLO ended up not really fully stable yet, we want to make
sure it works well with the ecosystem before enabling it.
Thus, remove the flag, but set WIPHY_FLAG_DISABLE_WEXT so
we don't get wireless extensions back until we enable MLO
for this hardware.
Cc: stable@vger.kernel.org
Reviewed-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index 1935630d3def..69227954e281 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -360,7 +360,7 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
if (mvm->mld_api_is_used && mvm->nvm_data->sku_cap_11be_enable &&
!iwlwifi_mod_params.disable_11ax &&
!iwlwifi_mod_params.disable_11be)
- hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
+ hw->wiphy->flags |= WIPHY_FLAG_DISABLE_WEXT;
/* With MLD FW API, it tracks timing by itself,
* no need for any timing from the host
--
2.44.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being
2024-03-14 10:09 ` [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being Johannes Berg
@ 2024-03-14 16:08 ` Kalle Valo
2024-03-14 16:09 ` Johannes Berg
0 siblings, 1 reply; 11+ messages in thread
From: Kalle Valo @ 2024-03-14 16:08 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless, Johannes Berg, Miri Korenblit, ath12k
+ ath12k
Johannes Berg <johannes@sipsolutions.net> writes:
> From: Johannes Berg <johannes.berg@intel.com>
>
> MLO ended up not really fully stable yet, we want to make
> sure it works well with the ecosystem before enabling it.
> Thus, remove the flag, but set WIPHY_FLAG_DISABLE_WEXT so
> we don't get wireless extensions back until we enable MLO
> for this hardware.
>
> Cc: stable@vger.kernel.org
> Reviewed-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
> ---
> drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
> index 1935630d3def..69227954e281 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
> @@ -360,7 +360,7 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
> if (mvm->mld_api_is_used && mvm->nvm_data->sku_cap_11be_enable &&
> !iwlwifi_mod_params.disable_11ax &&
> !iwlwifi_mod_params.disable_11be)
> - hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
> + hw->wiphy->flags |= WIPHY_FLAG_DISABLE_WEXT;
I think we should add the same for ath12k, right?
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being
2024-03-14 16:08 ` Kalle Valo
@ 2024-03-14 16:09 ` Johannes Berg
2024-03-14 16:34 ` Jeff Johnson
2024-03-14 16:39 ` Kalle Valo
0 siblings, 2 replies; 11+ messages in thread
From: Johannes Berg @ 2024-03-14 16:09 UTC (permalink / raw)
To: Kalle Valo; +Cc: linux-wireless, Miri Korenblit, ath12k
On Thu, 2024-03-14 at 18:08 +0200, Kalle Valo wrote:
>
> > - hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
> > + hw->wiphy->flags |= WIPHY_FLAG_DISABLE_WEXT;
>
> I think we should add the same for ath12k, right?
>
It's really up to you, I think. I'm hoping to even get this into stable,
FWIW.
The biggest issue here was our firmware, but the stack is also missing
some things, e.g. we see CQM problems (warnings?) if you actually use
multi-link "in the real world".
johannes
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being
2024-03-14 16:09 ` Johannes Berg
@ 2024-03-14 16:34 ` Jeff Johnson
2024-03-14 16:36 ` Johannes Berg
2024-03-14 16:39 ` Kalle Valo
1 sibling, 1 reply; 11+ messages in thread
From: Jeff Johnson @ 2024-03-14 16:34 UTC (permalink / raw)
To: Johannes Berg, Kalle Valo; +Cc: linux-wireless, Miri Korenblit, ath12k
On 3/14/2024 9:09 AM, Johannes Berg wrote:
> On Thu, 2024-03-14 at 18:08 +0200, Kalle Valo wrote:
>>
>>> - hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
>>> + hw->wiphy->flags |= WIPHY_FLAG_DISABLE_WEXT;
>>
>> I think we should add the same for ath12k, right?
>>
>
> It's really up to you, I think. I'm hoping to even get this into stable,
> FWIW.
>
> The biggest issue here was our firmware, but the stack is also missing
> some things, e.g. we see CQM problems (warnings?) if you actually use
> multi-link "in the real world".
what does it mean "disable wext" if we are a mac80211 driver that doesn't
utilize wext?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being
2024-03-14 16:34 ` Jeff Johnson
@ 2024-03-14 16:36 ` Johannes Berg
0 siblings, 0 replies; 11+ messages in thread
From: Johannes Berg @ 2024-03-14 16:36 UTC (permalink / raw)
To: Jeff Johnson, Kalle Valo; +Cc: linux-wireless, Miri Korenblit, ath12k
>
> what does it mean "disable wext" if we are a mac80211 driver that doesn't
> utilize wext?
>
You don't have a choice about wireless extension support - cfg80211 will
support wext for any non-MLO drivers.
However now we're faced with the situation where we have devices today
that enable MLO, and thus don't have wext. But if we disable MLO, then
those devices would get wext, and then when we later enable MLO again,
they'd lose wext again ... all that seems very unreasonable, and more
likely to lead to complaints than "new device doesn't support wext",
hence the first patch and disabling it explicitly for a device that will
again get MLO later.
johannes
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being
2024-03-14 16:09 ` Johannes Berg
2024-03-14 16:34 ` Jeff Johnson
@ 2024-03-14 16:39 ` Kalle Valo
2024-03-14 16:40 ` Johannes Berg
2024-03-14 16:42 ` Jeff Johnson
1 sibling, 2 replies; 11+ messages in thread
From: Kalle Valo @ 2024-03-14 16:39 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless, Miri Korenblit, ath12k
Johannes Berg <johannes@sipsolutions.net> writes:
> On Thu, 2024-03-14 at 18:08 +0200, Kalle Valo wrote:
>>
>> > - hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
>> > + hw->wiphy->flags |= WIPHY_FLAG_DISABLE_WEXT;
>>
>> I think we should add the same for ath12k, right?
>>
>
> It's really up to you, I think. I'm hoping to even get this into stable,
> FWIW.
ath12k doesn't support MLO yet but I feel that disabling wext already
now would be consistent from user's point of view.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being
2024-03-14 16:39 ` Kalle Valo
@ 2024-03-14 16:40 ` Johannes Berg
2024-03-14 16:45 ` Kalle Valo
2024-03-14 16:42 ` Jeff Johnson
1 sibling, 1 reply; 11+ messages in thread
From: Johannes Berg @ 2024-03-14 16:40 UTC (permalink / raw)
To: Kalle Valo; +Cc: linux-wireless, Miri Korenblit, ath12k
On Thu, 2024-03-14 at 18:39 +0200, Kalle Valo wrote:
> Johannes Berg <johannes@sipsolutions.net> writes:
>
> > On Thu, 2024-03-14 at 18:08 +0200, Kalle Valo wrote:
> > >
> > > > - hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
> > > > + hw->wiphy->flags |= WIPHY_FLAG_DISABLE_WEXT;
> > >
> > > I think we should add the same for ath12k, right?
> > >
> >
> > It's really up to you, I think. I'm hoping to even get this into stable,
> > FWIW.
>
> ath12k doesn't support MLO yet but I feel that disabling wext already
> now would be consistent from user's point of view.
Ah, you're in the situation where wext is still enabled now, but will
disappear when you enable MLO.
Agree then that it would make sense to disable wext right now so it's
not a software upgrade for the same hardware that removes it.
johannes
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being
2024-03-14 16:40 ` Johannes Berg
@ 2024-03-14 16:45 ` Kalle Valo
0 siblings, 0 replies; 11+ messages in thread
From: Kalle Valo @ 2024-03-14 16:45 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless, Miri Korenblit, ath12k
Johannes Berg <johannes@sipsolutions.net> writes:
> On Thu, 2024-03-14 at 18:39 +0200, Kalle Valo wrote:
>> Johannes Berg <johannes@sipsolutions.net> writes:
>>
>> > On Thu, 2024-03-14 at 18:08 +0200, Kalle Valo wrote:
>> > >
>> > > > - hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
>> > > > + hw->wiphy->flags |= WIPHY_FLAG_DISABLE_WEXT;
>> > >
>> > > I think we should add the same for ath12k, right?
>> > >
>> >
>> > It's really up to you, I think. I'm hoping to even get this into stable,
>> > FWIW.
>>
>> ath12k doesn't support MLO yet but I feel that disabling wext already
>> now would be consistent from user's point of view.
>
> Ah, you're in the situation where wext is still enabled now, but will
> disappear when you enable MLO.
Exactly.
> Agree then that it would make sense to disable wext right now so it's
> not a software upgrade for the same hardware that removes it.
Good, thanks for confirming.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being
2024-03-14 16:39 ` Kalle Valo
2024-03-14 16:40 ` Johannes Berg
@ 2024-03-14 16:42 ` Jeff Johnson
2024-03-14 18:28 ` Kalle Valo
1 sibling, 1 reply; 11+ messages in thread
From: Jeff Johnson @ 2024-03-14 16:42 UTC (permalink / raw)
To: Kalle Valo, Johannes Berg; +Cc: linux-wireless, Miri Korenblit, ath12k
On 3/14/2024 9:39 AM, Kalle Valo wrote:
> Johannes Berg <johannes@sipsolutions.net> writes:
>
>> On Thu, 2024-03-14 at 18:08 +0200, Kalle Valo wrote:
>>>
>>>> - hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
>>>> + hw->wiphy->flags |= WIPHY_FLAG_DISABLE_WEXT;
>>>
>>> I think we should add the same for ath12k, right?
>>>
>>
>> It's really up to you, I think. I'm hoping to even get this into stable,
>> FWIW.
>
> ath12k doesn't support MLO yet but I feel that disabling wext already
> now would be consistent from user's point of view.
Now that I understand what this is doing I completely agree. We should prevent
the use of wext with ath12k.
/jeff
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being
2024-03-14 16:42 ` Jeff Johnson
@ 2024-03-14 18:28 ` Kalle Valo
0 siblings, 0 replies; 11+ messages in thread
From: Kalle Valo @ 2024-03-14 18:28 UTC (permalink / raw)
To: Jeff Johnson; +Cc: Johannes Berg, linux-wireless, Miri Korenblit, ath12k
Jeff Johnson <quic_jjohnson@quicinc.com> writes:
> On 3/14/2024 9:39 AM, Kalle Valo wrote:
>> Johannes Berg <johannes@sipsolutions.net> writes:
>>
>>> On Thu, 2024-03-14 at 18:08 +0200, Kalle Valo wrote:
>>>>
>>>>> - hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
>>>>> + hw->wiphy->flags |= WIPHY_FLAG_DISABLE_WEXT;
>>>>
>>>> I think we should add the same for ath12k, right?
>>>>
>>>
>>> It's really up to you, I think. I'm hoping to even get this into stable,
>>> FWIW.
>>
>> ath12k doesn't support MLO yet but I feel that disabling wext already
>> now would be consistent from user's point of view.
>
> Now that I understand what this is doing I completely agree. We should prevent
> the use of wext with ath12k.
And thinking more about this I think it would be good that other drivers
supporting Wi-Fi 7 hardware do the same until they also support MLO. Of
course Wi-Fi 6 and older hardware should still support wext,
unfortunately :/
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-03-14 18:28 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-14 10:09 [PATCH 1/2] wifi: cfg80211: add a flag to disable wireless extensions Johannes Berg
2024-03-14 10:09 ` [PATCH 2/2] wifi: iwlwifi: mvm: disable MLO for the time being Johannes Berg
2024-03-14 16:08 ` Kalle Valo
2024-03-14 16:09 ` Johannes Berg
2024-03-14 16:34 ` Jeff Johnson
2024-03-14 16:36 ` Johannes Berg
2024-03-14 16:39 ` Kalle Valo
2024-03-14 16:40 ` Johannes Berg
2024-03-14 16:45 ` Kalle Valo
2024-03-14 16:42 ` Jeff Johnson
2024-03-14 18:28 ` Kalle Valo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).