All of lore.kernel.org
 help / color / mirror / Atom feed
* mlo rx nss value 0 of wifi
@ 2022-09-13  4:37 ` Wen Gong
  0 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-09-13  4:37 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

Hi Johannes,

Currently for MLO test, the others links's rx_nss of struct
ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
becaue they are not pass into ieee80211_sta_set_rx_nss() in
mac80211 except the deflink which means the primary link in
rate_control_rate_init(). This lead driver get nss = 0 for
other links. Will you fix it or is it design by default?

Only primary link has valid rx_nss value which is not 0 by below call stack.
ieee80211_assoc_success()
     ->rate_control_rate_init(sta);
         ->ieee80211_sta_set_rx_nss(&sta->deflink);

^ permalink raw reply	[flat|nested] 20+ messages in thread

* mlo rx nss value 0 of wifi
@ 2022-09-13  4:37 ` Wen Gong
  0 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-09-13  4:37 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

Hi Johannes,

Currently for MLO test, the others links's rx_nss of struct
ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
becaue they are not pass into ieee80211_sta_set_rx_nss() in
mac80211 except the deflink which means the primary link in
rate_control_rate_init(). This lead driver get nss = 0 for
other links. Will you fix it or is it design by default?

Only primary link has valid rx_nss value which is not 0 by below call stack.
ieee80211_assoc_success()
     ->rate_control_rate_init(sta);
         ->ieee80211_sta_set_rx_nss(&sta->deflink);

-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: mlo rx nss value 0 of wifi
  2022-09-13  4:37 ` Wen Gong
@ 2022-09-28 15:15   ` Wen Gong
  -1 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-09-28 15:15 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

Hi Johannes,

May I get your comment about this?

On 9/13/2022 12:37 PM, Wen Gong wrote:
> Hi Johannes,
>
> Currently for MLO test, the others links's rx_nss of struct
> ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
> becaue they are not pass into ieee80211_sta_set_rx_nss() in
> mac80211 except the deflink which means the primary link in
> rate_control_rate_init(). This lead driver get nss = 0 for
> other links. Will you fix it or is it design by default?
>
> Only primary link has valid rx_nss value which is not 0 by below call 
> stack.
> ieee80211_assoc_success()
>     ->rate_control_rate_init(sta);
>         ->ieee80211_sta_set_rx_nss(&sta->deflink);

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: mlo rx nss value 0 of wifi
@ 2022-09-28 15:15   ` Wen Gong
  0 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-09-28 15:15 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

Hi Johannes,

May I get your comment about this?

On 9/13/2022 12:37 PM, Wen Gong wrote:
> Hi Johannes,
>
> Currently for MLO test, the others links's rx_nss of struct
> ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
> becaue they are not pass into ieee80211_sta_set_rx_nss() in
> mac80211 except the deflink which means the primary link in
> rate_control_rate_init(). This lead driver get nss = 0 for
> other links. Will you fix it or is it design by default?
>
> Only primary link has valid rx_nss value which is not 0 by below call 
> stack.
> ieee80211_assoc_success()
>     ->rate_control_rate_init(sta);
>         ->ieee80211_sta_set_rx_nss(&sta->deflink);

-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
  2022-09-13  4:37 ` Wen Gong
@ 2022-10-17  7:10   ` Wen Gong
  -1 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-10-17  7:10 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

Hi Johannes,

May I get your comment about this?

On 9/13/2022 12:37 PM, Wen Gong wrote:
> Hi Johannes,
>
> Currently for MLO test, the others links's rx_nss of struct
> ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
> becaue they are not pass into ieee80211_sta_set_rx_nss() in
> mac80211 except the deflink which means the primary link in
> rate_control_rate_init(). This lead driver get nss = 0 for
> other links. Will you fix it or is it design by default?
>
> Only primary link has valid rx_nss value which is not 0 by below call 
> stack.
> ieee80211_assoc_success()
>     ->rate_control_rate_init(sta);
>         ->ieee80211_sta_set_rx_nss(&sta->deflink);

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
@ 2022-10-17  7:10   ` Wen Gong
  0 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-10-17  7:10 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

Hi Johannes,

May I get your comment about this?

On 9/13/2022 12:37 PM, Wen Gong wrote:
> Hi Johannes,
>
> Currently for MLO test, the others links's rx_nss of struct
> ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
> becaue they are not pass into ieee80211_sta_set_rx_nss() in
> mac80211 except the deflink which means the primary link in
> rate_control_rate_init(). This lead driver get nss = 0 for
> other links. Will you fix it or is it design by default?
>
> Only primary link has valid rx_nss value which is not 0 by below call 
> stack.
> ieee80211_assoc_success()
>     ->rate_control_rate_init(sta);
>         ->ieee80211_sta_set_rx_nss(&sta->deflink);

-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
  2022-10-17  7:10   ` Wen Gong
@ 2022-10-17  7:48     ` Johannes Berg
  -1 siblings, 0 replies; 20+ messages in thread
From: Johannes Berg @ 2022-10-17  7:48 UTC (permalink / raw)
  To: Wen Gong, linux-wireless; +Cc: ath11k

Hi,

> > Currently for MLO test, the others links's rx_nss of struct
> > ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
> > becaue they are not pass into ieee80211_sta_set_rx_nss() in
> > mac80211 except the deflink which means the primary link in
> > rate_control_rate_init(). This lead driver get nss = 0 for
> > other links. Will you fix it or is it design by default?
> > 
> > Only primary link has valid rx_nss value which is not 0 by below call 
> > stack.
> > ieee80211_assoc_success()
> >     ->rate_control_rate_init(sta);
> >         ->ieee80211_sta_set_rx_nss(&sta->deflink);

Right, none of the rate scaling related stuff was updated yet.

Want to work on it? :)

johannes

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
@ 2022-10-17  7:48     ` Johannes Berg
  0 siblings, 0 replies; 20+ messages in thread
From: Johannes Berg @ 2022-10-17  7:48 UTC (permalink / raw)
  To: Wen Gong, linux-wireless; +Cc: ath11k

Hi,

> > Currently for MLO test, the others links's rx_nss of struct
> > ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
> > becaue they are not pass into ieee80211_sta_set_rx_nss() in
> > mac80211 except the deflink which means the primary link in
> > rate_control_rate_init(). This lead driver get nss = 0 for
> > other links. Will you fix it or is it design by default?
> > 
> > Only primary link has valid rx_nss value which is not 0 by below call 
> > stack.
> > ieee80211_assoc_success()
> >     ->rate_control_rate_init(sta);
> >         ->ieee80211_sta_set_rx_nss(&sta->deflink);

Right, none of the rate scaling related stuff was updated yet.

Want to work on it? :)

johannes

-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
  2022-10-17  7:48     ` Johannes Berg
@ 2022-10-17  7:49       ` Johannes Berg
  -1 siblings, 0 replies; 20+ messages in thread
From: Johannes Berg @ 2022-10-17  7:49 UTC (permalink / raw)
  To: Wen Gong, linux-wireless; +Cc: ath11k

On Mon, 2022-10-17 at 09:48 +0200, Johannes Berg wrote:
> Hi,
> 
> > > Currently for MLO test, the others links's rx_nss of struct
> > > ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
> > > becaue they are not pass into ieee80211_sta_set_rx_nss() in
> > > mac80211 except the deflink which means the primary link in
> > > rate_control_rate_init(). This lead driver get nss = 0 for
> > > other links. Will you fix it or is it design by default?
> > > 
> > > Only primary link has valid rx_nss value which is not 0 by below call 
> > > stack.
> > > ieee80211_assoc_success()
> > >     ->rate_control_rate_init(sta);
> > >         ->ieee80211_sta_set_rx_nss(&sta->deflink);
> 
> Right, none of the rate scaling related stuff was updated yet.
> 

Though for this case maybe we can just move ieee80211_sta_set_rx_nss()
to some better place outside of rate_control_rate_init() and have it
done with the right link, and also on changes?

johannes

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
@ 2022-10-17  7:49       ` Johannes Berg
  0 siblings, 0 replies; 20+ messages in thread
From: Johannes Berg @ 2022-10-17  7:49 UTC (permalink / raw)
  To: Wen Gong, linux-wireless; +Cc: ath11k

On Mon, 2022-10-17 at 09:48 +0200, Johannes Berg wrote:
> Hi,
> 
> > > Currently for MLO test, the others links's rx_nss of struct
> > > ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
> > > becaue they are not pass into ieee80211_sta_set_rx_nss() in
> > > mac80211 except the deflink which means the primary link in
> > > rate_control_rate_init(). This lead driver get nss = 0 for
> > > other links. Will you fix it or is it design by default?
> > > 
> > > Only primary link has valid rx_nss value which is not 0 by below call 
> > > stack.
> > > ieee80211_assoc_success()
> > >     ->rate_control_rate_init(sta);
> > >         ->ieee80211_sta_set_rx_nss(&sta->deflink);
> 
> Right, none of the rate scaling related stuff was updated yet.
> 

Though for this case maybe we can just move ieee80211_sta_set_rx_nss()
to some better place outside of rate_control_rate_init() and have it
done with the right link, and also on changes?

johannes

-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
  2022-10-17  7:49       ` Johannes Berg
@ 2022-10-17  8:00         ` Wen Gong
  -1 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-10-17  8:00 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

On 10/17/2022 3:49 PM, Johannes Berg wrote:
> On Mon, 2022-10-17 at 09:48 +0200, Johannes Berg wrote:
>> Hi,
>>
>>>> Currently for MLO test, the others links's rx_nss of struct
>>>> ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
>>>> becaue they are not pass into ieee80211_sta_set_rx_nss() in
>>>> mac80211 except the deflink which means the primary link in
>>>> rate_control_rate_init(). This lead driver get nss = 0 for
>>>> other links. Will you fix it or is it design by default?
>>>>
>>>> Only primary link has valid rx_nss value which is not 0 by below call
>>>> stack.
>>>> ieee80211_assoc_success()
>>>>      ->rate_control_rate_init(sta);
>>>>          ->ieee80211_sta_set_rx_nss(&sta->deflink);
>> Right, none of the rate scaling related stuff was updated yet.
>>
> Though for this case maybe we can just move ieee80211_sta_set_rx_nss()
> to some better place outside of rate_control_rate_init() and have it
> done with the right link, and also on changes?
>
> johannes

I did below change in my internal test, and not found the NSS=0 issue 
again for 2 link MLO.

wifi: mac80211: update all links rx nss by ieee80211_sta_set_rx_nss() in 
ieee80211_assoc_success()


diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index a21e0f34423b..f03568512f05 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -4972,6 +4972,13 @@ static bool ieee80211_assoc_success(struct 
ieee80211_sub_if_data *sdata,
         }

         rate_control_rate_init(sta);
+       for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS; 
link_id++) {
+               if (!(sta->sta.valid_links & BIT(link_id)) ||
+                   sta->deflink.link_id == link_id)
+                       continue;
+
+               ieee80211_sta_set_rx_nss(sta->link[link_id]);
+       }

         if (ifmgd->flags & IEEE80211_STA_MFP_ENABLED) {
                 set_sta_flag(sta, WLAN_STA_MFP);


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
@ 2022-10-17  8:00         ` Wen Gong
  0 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-10-17  8:00 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

On 10/17/2022 3:49 PM, Johannes Berg wrote:
> On Mon, 2022-10-17 at 09:48 +0200, Johannes Berg wrote:
>> Hi,
>>
>>>> Currently for MLO test, the others links's rx_nss of struct
>>>> ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
>>>> becaue they are not pass into ieee80211_sta_set_rx_nss() in
>>>> mac80211 except the deflink which means the primary link in
>>>> rate_control_rate_init(). This lead driver get nss = 0 for
>>>> other links. Will you fix it or is it design by default?
>>>>
>>>> Only primary link has valid rx_nss value which is not 0 by below call
>>>> stack.
>>>> ieee80211_assoc_success()
>>>>      ->rate_control_rate_init(sta);
>>>>          ->ieee80211_sta_set_rx_nss(&sta->deflink);
>> Right, none of the rate scaling related stuff was updated yet.
>>
> Though for this case maybe we can just move ieee80211_sta_set_rx_nss()
> to some better place outside of rate_control_rate_init() and have it
> done with the right link, and also on changes?
>
> johannes

I did below change in my internal test, and not found the NSS=0 issue 
again for 2 link MLO.

wifi: mac80211: update all links rx nss by ieee80211_sta_set_rx_nss() in 
ieee80211_assoc_success()


diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index a21e0f34423b..f03568512f05 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -4972,6 +4972,13 @@ static bool ieee80211_assoc_success(struct 
ieee80211_sub_if_data *sdata,
         }

         rate_control_rate_init(sta);
+       for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS; 
link_id++) {
+               if (!(sta->sta.valid_links & BIT(link_id)) ||
+                   sta->deflink.link_id == link_id)
+                       continue;
+
+               ieee80211_sta_set_rx_nss(sta->link[link_id]);
+       }

         if (ifmgd->flags & IEEE80211_STA_MFP_ENABLED) {
                 set_sta_flag(sta, WLAN_STA_MFP);


-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
  2022-10-17  8:00         ` Wen Gong
@ 2022-10-17  8:02           ` Johannes Berg
  -1 siblings, 0 replies; 20+ messages in thread
From: Johannes Berg @ 2022-10-17  8:02 UTC (permalink / raw)
  To: Wen Gong, linux-wireless; +Cc: ath11k

On Mon, 2022-10-17 at 16:00 +0800, Wen Gong wrote:
> On 10/17/2022 3:49 PM, Johannes Berg wrote:
> > On Mon, 2022-10-17 at 09:48 +0200, Johannes Berg wrote:
> > > Hi,
> > > 
> > > > > Currently for MLO test, the others links's rx_nss of struct
> > > > > ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
> > > > > becaue they are not pass into ieee80211_sta_set_rx_nss() in
> > > > > mac80211 except the deflink which means the primary link in
> > > > > rate_control_rate_init(). This lead driver get nss = 0 for
> > > > > other links. Will you fix it or is it design by default?
> > > > > 
> > > > > Only primary link has valid rx_nss value which is not 0 by below call
> > > > > stack.
> > > > > ieee80211_assoc_success()
> > > > >      ->rate_control_rate_init(sta);
> > > > >          ->ieee80211_sta_set_rx_nss(&sta->deflink);
> > > Right, none of the rate scaling related stuff was updated yet.
> > > 
> > Though for this case maybe we can just move ieee80211_sta_set_rx_nss()
> > to some better place outside of rate_control_rate_init() and have it
> > done with the right link, and also on changes?
> > 
> > johannes
> 
> I did below change in my internal test, and not found the NSS=0 issue 
> again for 2 link MLO.
> 
> wifi: mac80211: update all links rx nss by ieee80211_sta_set_rx_nss() in 
> ieee80211_assoc_success()
> 

I guess valid links wasn't set at that point yet?

Anyway should also move out of rate_control_rate_init() and probably
into something like ieee80211_assoc_config_link()? That already does
some rx_nss calculations which is probably not great ...

johannes

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
@ 2022-10-17  8:02           ` Johannes Berg
  0 siblings, 0 replies; 20+ messages in thread
From: Johannes Berg @ 2022-10-17  8:02 UTC (permalink / raw)
  To: Wen Gong, linux-wireless; +Cc: ath11k

On Mon, 2022-10-17 at 16:00 +0800, Wen Gong wrote:
> On 10/17/2022 3:49 PM, Johannes Berg wrote:
> > On Mon, 2022-10-17 at 09:48 +0200, Johannes Berg wrote:
> > > Hi,
> > > 
> > > > > Currently for MLO test, the others links's rx_nss of struct
> > > > > ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
> > > > > becaue they are not pass into ieee80211_sta_set_rx_nss() in
> > > > > mac80211 except the deflink which means the primary link in
> > > > > rate_control_rate_init(). This lead driver get nss = 0 for
> > > > > other links. Will you fix it or is it design by default?
> > > > > 
> > > > > Only primary link has valid rx_nss value which is not 0 by below call
> > > > > stack.
> > > > > ieee80211_assoc_success()
> > > > >      ->rate_control_rate_init(sta);
> > > > >          ->ieee80211_sta_set_rx_nss(&sta->deflink);
> > > Right, none of the rate scaling related stuff was updated yet.
> > > 
> > Though for this case maybe we can just move ieee80211_sta_set_rx_nss()
> > to some better place outside of rate_control_rate_init() and have it
> > done with the right link, and also on changes?
> > 
> > johannes
> 
> I did below change in my internal test, and not found the NSS=0 issue 
> again for 2 link MLO.
> 
> wifi: mac80211: update all links rx nss by ieee80211_sta_set_rx_nss() in 
> ieee80211_assoc_success()
> 

I guess valid links wasn't set at that point yet?

Anyway should also move out of rate_control_rate_init() and probably
into something like ieee80211_assoc_config_link()? That already does
some rx_nss calculations which is probably not great ...

johannes

-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
  2022-10-17  8:02           ` Johannes Berg
@ 2022-10-17  8:12             ` Wen Gong
  -1 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-10-17  8:12 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

On 10/17/2022 4:02 PM, Johannes Berg wrote:
> On Mon, 2022-10-17 at 16:00 +0800, Wen Gong wrote:
>> On 10/17/2022 3:49 PM, Johannes Berg wrote:
>>> On Mon, 2022-10-17 at 09:48 +0200, Johannes Berg wrote:
>>>> Hi,
>>>>
>>>>>> Currently for MLO test, the others links's rx_nss of struct
>>>>>> ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
>>>>>> becaue they are not pass into ieee80211_sta_set_rx_nss() in
>>>>>> mac80211 except the deflink which means the primary link in
>>>>>> rate_control_rate_init(). This lead driver get nss = 0 for
>>>>>> other links. Will you fix it or is it design by default?
>>>>>>
>>>>>> Only primary link has valid rx_nss value which is not 0 by below call
>>>>>> stack.
>>>>>> ieee80211_assoc_success()
>>>>>>       ->rate_control_rate_init(sta);
>>>>>>           ->ieee80211_sta_set_rx_nss(&sta->deflink);
>>>> Right, none of the rate scaling related stuff was updated yet.
>>>>
>>> Though for this case maybe we can just move ieee80211_sta_set_rx_nss()
>>> to some better place outside of rate_control_rate_init() and have it
>>> done with the right link, and also on changes?
>>>
>>> johannes
>> I did below change in my internal test, and not found the NSS=0 issue
>> again for 2 link MLO.
>>
>> wifi: mac80211: update all links rx nss by ieee80211_sta_set_rx_nss() in
>> ieee80211_assoc_success()
>>
> I guess valid links wasn't set at that point yet?
>
> Anyway should also move out of rate_control_rate_init() and probably
> into something like ieee80211_assoc_config_link()? That already does
> some rx_nss calculations which is probably not great ...

OK. I will test with my change internal now. And replace to use upstream 
change

after someone fix it.

> johannes

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
@ 2022-10-17  8:12             ` Wen Gong
  0 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-10-17  8:12 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

On 10/17/2022 4:02 PM, Johannes Berg wrote:
> On Mon, 2022-10-17 at 16:00 +0800, Wen Gong wrote:
>> On 10/17/2022 3:49 PM, Johannes Berg wrote:
>>> On Mon, 2022-10-17 at 09:48 +0200, Johannes Berg wrote:
>>>> Hi,
>>>>
>>>>>> Currently for MLO test, the others links's rx_nss of struct
>>>>>> ieee80211_link_sta is still value 0 in ieee80211_set_associated(),
>>>>>> becaue they are not pass into ieee80211_sta_set_rx_nss() in
>>>>>> mac80211 except the deflink which means the primary link in
>>>>>> rate_control_rate_init(). This lead driver get nss = 0 for
>>>>>> other links. Will you fix it or is it design by default?
>>>>>>
>>>>>> Only primary link has valid rx_nss value which is not 0 by below call
>>>>>> stack.
>>>>>> ieee80211_assoc_success()
>>>>>>       ->rate_control_rate_init(sta);
>>>>>>           ->ieee80211_sta_set_rx_nss(&sta->deflink);
>>>> Right, none of the rate scaling related stuff was updated yet.
>>>>
>>> Though for this case maybe we can just move ieee80211_sta_set_rx_nss()
>>> to some better place outside of rate_control_rate_init() and have it
>>> done with the right link, and also on changes?
>>>
>>> johannes
>> I did below change in my internal test, and not found the NSS=0 issue
>> again for 2 link MLO.
>>
>> wifi: mac80211: update all links rx nss by ieee80211_sta_set_rx_nss() in
>> ieee80211_assoc_success()
>>
> I guess valid links wasn't set at that point yet?
>
> Anyway should also move out of rate_control_rate_init() and probably
> into something like ieee80211_assoc_config_link()? That already does
> some rx_nss calculations which is probably not great ...

OK. I will test with my change internal now. And replace to use upstream 
change

after someone fix it.

> johannes

-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
  2022-10-17  8:12             ` Wen Gong
@ 2022-10-17  8:14               ` Johannes Berg
  -1 siblings, 0 replies; 20+ messages in thread
From: Johannes Berg @ 2022-10-17  8:14 UTC (permalink / raw)
  To: Wen Gong, linux-wireless; +Cc: ath11k

On Mon, 2022-10-17 at 16:12 +0800, Wen Gong wrote:
> > > 
> > I guess valid links wasn't set at that point yet?
> > 
> > Anyway should also move out of rate_control_rate_init() and probably
> > into something like ieee80211_assoc_config_link()? That already does
> > some rx_nss calculations which is probably not great ...
> 
> OK. I will test with my change internal now. And replace to use upstream 
> change
> 
> after someone fix it.
> 

Well, I think you should try to fix it and submit the patch, I'm not
going to do it in the short term ... :)

johannes

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
@ 2022-10-17  8:14               ` Johannes Berg
  0 siblings, 0 replies; 20+ messages in thread
From: Johannes Berg @ 2022-10-17  8:14 UTC (permalink / raw)
  To: Wen Gong, linux-wireless; +Cc: ath11k

On Mon, 2022-10-17 at 16:12 +0800, Wen Gong wrote:
> > > 
> > I guess valid links wasn't set at that point yet?
> > 
> > Anyway should also move out of rate_control_rate_init() and probably
> > into something like ieee80211_assoc_config_link()? That already does
> > some rx_nss calculations which is probably not great ...
> 
> OK. I will test with my change internal now. And replace to use upstream 
> change
> 
> after someone fix it.
> 

Well, I think you should try to fix it and submit the patch, I'm not
going to do it in the short term ... :)

johannes

-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
  2022-10-17  8:14               ` Johannes Berg
@ 2022-10-18  8:45                 ` Wen Gong
  -1 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-10-18  8:45 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

On 10/17/2022 4:14 PM, Johannes Berg wrote:
> On Mon, 2022-10-17 at 16:12 +0800, Wen Gong wrote:
>>> I guess valid links wasn't set at that point yet?
>>>
>>> Anyway should also move out of rate_control_rate_init() and probably
>>> into something like ieee80211_assoc_config_link()? That already does
>>> some rx_nss calculations which is probably not great ...
>> OK. I will test with my change internal now. And replace to use upstream
>> change
>>
>> after someone fix it.
>>
> Well, I think you should try to fix it and submit the patch, I'm not
> going to do it in the short term ... :)
unfortunately I am also busy at other place in at present:).😁
>
> johannes

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: wifi: mac80211: mlo rx nss value 0 of wifi
@ 2022-10-18  8:45                 ` Wen Gong
  0 siblings, 0 replies; 20+ messages in thread
From: Wen Gong @ 2022-10-18  8:45 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless; +Cc: ath11k

On 10/17/2022 4:14 PM, Johannes Berg wrote:
> On Mon, 2022-10-17 at 16:12 +0800, Wen Gong wrote:
>>> I guess valid links wasn't set at that point yet?
>>>
>>> Anyway should also move out of rate_control_rate_init() and probably
>>> into something like ieee80211_assoc_config_link()? That already does
>>> some rx_nss calculations which is probably not great ...
>> OK. I will test with my change internal now. And replace to use upstream
>> change
>>
>> after someone fix it.
>>
> Well, I think you should try to fix it and submit the patch, I'm not
> going to do it in the short term ... :)
unfortunately I am also busy at other place in at present:).😁
>
> johannes

-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2022-10-18  8:46 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-13  4:37 mlo rx nss value 0 of wifi Wen Gong
2022-09-13  4:37 ` Wen Gong
2022-09-28 15:15 ` Wen Gong
2022-09-28 15:15   ` Wen Gong
2022-10-17  7:10 ` wifi: mac80211: " Wen Gong
2022-10-17  7:10   ` Wen Gong
2022-10-17  7:48   ` Johannes Berg
2022-10-17  7:48     ` Johannes Berg
2022-10-17  7:49     ` Johannes Berg
2022-10-17  7:49       ` Johannes Berg
2022-10-17  8:00       ` Wen Gong
2022-10-17  8:00         ` Wen Gong
2022-10-17  8:02         ` Johannes Berg
2022-10-17  8:02           ` Johannes Berg
2022-10-17  8:12           ` Wen Gong
2022-10-17  8:12             ` Wen Gong
2022-10-17  8:14             ` Johannes Berg
2022-10-17  8:14               ` Johannes Berg
2022-10-18  8:45               ` Wen Gong
2022-10-18  8:45                 ` Wen Gong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.