Search Linux Wireless

Re: HACK/RFC: Fix link_sta->rx_nss == 0 in iwlwifi upon eMLSR link change.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2024-07-16 at 16:25 -0700, Ben Greear wrote:
> While poking around at some instability and poor performance seen in download
> direction, I noticed that the rate-ctrl was probably set incorrectly in
> the iwlwifi driver due to link_sta->rx_nss being zero when changing active link
> to the secondary link (the one we didn't originally associate with).
> 
> After debugging, I found that the hack below will make this problem
> go away.  I sincerely doubt this is the correct approach, but I'm not
> sure how it is all supposed to work in the first place.

Andrei came up with this, which does seem better, but probably wouldn't
address the AP side:

diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index d624c51d0bd1..8d32adf7502d 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -5744,6 +5744,7 @@ static bool ieee80211_assoc_success(struct ieee80211_sub_if_data *sdata,
 		}
 
 		if (link_id != assoc_data->assoc_link_id) {
+			ieee80211_sta_init_nss(link_sta);
 			err = ieee80211_sta_activate_link(sta, link_id);
 			if (err)
 				goto out_err;

Care to test it?

In general I think we should probably remove the call to
ieee80211_sta_init_nss() from rate_control_rate_init() and call it
explicitly wherever needed, since with MLO we require offloaded rate
control and rate_control_rate_init() doesn't really do anything (except
this for the deflink, which is then questionable)

johannes





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux