From: Bitterblue Smith Date: Mon, 17 Feb 2025 23:29:52 +0000 (+0200) Subject: wifi: rtw88: Fix rtw_desc_to_mcsrate() to handle MCS16-31 X-Git-Tag: v6.15-rc1~160^2~20^2~2^2~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=86d04f8f991a0509e318fe886d5a1cf795736c7d;p=thirdparty%2Fkernel%2Fstable.git wifi: rtw88: Fix rtw_desc_to_mcsrate() to handle MCS16-31 This function translates the rate number reported by the hardware into something mac80211 can understand. It was ignoring the 3SS and 4SS HT rates. Translate them too. Also set *nss to 0 for the HT rates, just to make sure it's initialised. Signed-off-by: Bitterblue Smith Acked-by: Ping-Ke Shih Signed-off-by: Ping-Ke Shih Link: https://patch.msgid.link/d0a5a86b-4869-47f6-a5a7-01c0f987cc7f@gmail.com --- diff --git a/drivers/net/wireless/realtek/rtw88/util.c b/drivers/net/wireless/realtek/rtw88/util.c index e222d3c01a77e..66819f6944055 100644 --- a/drivers/net/wireless/realtek/rtw88/util.c +++ b/drivers/net/wireless/realtek/rtw88/util.c @@ -101,7 +101,8 @@ void rtw_desc_to_mcsrate(u16 rate, u8 *mcs, u8 *nss) *nss = 4; *mcs = rate - DESC_RATEVHT4SS_MCS0; } else if (rate >= DESC_RATEMCS0 && - rate <= DESC_RATEMCS15) { + rate <= DESC_RATEMCS31) { + *nss = 0; *mcs = rate - DESC_RATEMCS0; } }