From 2f53b5991ce05b7e6f2b1eb826cd902fb255a9eb Mon Sep 17 00:00:00 2001 From: Mikhail Pchelin Date: Fri, 14 Apr 2023 18:20:09 +0300 Subject: [PATCH] net80211: fix a typo in Rx MCS set for unequal modulation case RX MCS set defines which MCSs are supported for RX, bits 0-31 are for equal modulation of the streams, bits 33-76 are for unequal case. Current code checks txstreams variable instead of rxstreams to set bits from 53 to 76 for 4 spatial streams case. The modulations are defined in tables 19-38 and 19-41 of the IEEE Std 802.11-2020. Spotted by bz in https://reviews.freebsd.org/D39476 Reviewed by: bz Approved by: bz Sponsored by: Serenity Cybersecurity, LLC Differential Revision: https://reviews.freebsd.org/D39568 --- sys/net80211/ieee80211_ht.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index f98316bc508..2bdbc101d86 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -3203,7 +3203,7 @@ ieee80211_set_mcsset(struct ieee80211com *ic, uint8_t *frm) for (i = 39; i <= 52; i++) setbit(frm, i); } - if (ic->ic_txstream >= 4) { + if (ic->ic_rxstream >= 4) { for (i = 53; i <= 76; i++) setbit(frm, i); } -- 2.45.0