The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8494be1b5af7fe4f765532f802ac0a145e061d73
commit 8494be1b5af7fe4f765532f802ac0a145e061d73 Author: Bjoern A. Zeeb <[email protected]> AuthorDate: 2025-12-28 19:38:16 +0000 Commit: Bjoern A. Zeeb <[email protected]> CommitDate: 2025-12-29 02:54:03 +0000 LinuxKPI: 802.11: fix rx_nss with VHT When fixing single-stream chipsets, like iwlwifi(4) AX101, we started masking the announced with the hardware supported values. This would probably limit, e.g., rx_nss. During these works we fixed a loop checking from the highest nss=7 to lowest nss=0 (8..1) and would set rx_nss if the stream was supported. This left us with always setting rx_nss on nss=0 to nss + 1 = 1. Instead only update once when we hit the first supported MCS value (highest number of supported streams). Looking at the diff of the mentioned commit hash which gets fixed it looks like even the old code was not correct either. This only fixes the logic to calculate rx_nss. This does not yet help with modern drivers to actually update the value. Code for this will come in a later commit. Sponsored by: The FreeBSD Foundation MFC after: 3 days Fixes: adb4901ac9ae --- sys/compat/linuxkpi/common/src/linux_80211.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index f4b534122b87..1ac28dfef448 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -693,7 +693,8 @@ skip_bw: sta = IEEE80211_VHT_MCS_NOT_SUPPORTED; else { sta = MIN(sta, card); - rx_nss = i + 1; + if (rx_nss == 0) + rx_nss = i + 1; } } rx_map |= (sta << (2 * i));
