diff mbox series

[2/2] wifi: iwlwifi: mvm: disable MLO for the time being

Message ID 20240314110951.d6ad146df98d.I47127e4fdbdef89e4ccf7483641570ee7871d4e6@changeid (mailing list archive)
State Accepted
Delegated to: Johannes Berg
Headers show
Series [1/2] wifi: cfg80211: add a flag to disable wireless extensions | expand

Commit Message

Johannes Berg March 14, 2024, 10:09 a.m. UTC
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(-)

Comments

Kalle Valo March 14, 2024, 4:08 p.m. UTC | #1
+ 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?
Johannes Berg March 14, 2024, 4:09 p.m. UTC | #2
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
Jeff Johnson March 14, 2024, 4:34 p.m. UTC | #3
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?
Johannes Berg March 14, 2024, 4:36 p.m. UTC | #4
> 
> 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
Kalle Valo March 14, 2024, 4:39 p.m. UTC | #5
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.
Johannes Berg March 14, 2024, 4:40 p.m. UTC | #6
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
Jeff Johnson March 14, 2024, 4:42 p.m. UTC | #7
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
Kalle Valo March 14, 2024, 4:45 p.m. UTC | #8
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.
Kalle Valo March 14, 2024, 6:28 p.m. UTC | #9
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 :/
diff mbox series

Patch

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