git: 8494be1b5af7 - main - LinuxKPI: 802.11: fix rx_nss with VHT
- Reply: George Kontostanos : "Unsubscribe "
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 29 Dec 2025 02:55:18 UTC
The branch main has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=8494be1b5af7fe4f765532f802ac0a145e061d73
commit 8494be1b5af7fe4f765532f802ac0a145e061d73
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2025-12-28 19:38:16 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
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));