summaryrefslogtreecommitdiff
path: root/net/wireless
diff options
context:
space:
mode:
authorBaochen Qiang <quic_bqiang@quicinc.com>2024-06-06 10:06:53 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-08-03 08:53:39 +0200
commit67b5f1054197e4f5553047759c15c1d67d4c8142 (patch)
tree652467993aafd162239ce232a9606c5b794d8b51 /net/wireless
parent0675037972d12e60374646a0bbd280e85a5ff892 (diff)
downloadlinux-67b5f1054197e4f5553047759c15c1d67d4c8142.tar.gz
linux-67b5f1054197e4f5553047759c15c1d67d4c8142.tar.bz2
linux-67b5f1054197e4f5553047759c15c1d67d4c8142.zip
wifi: cfg80211: handle 2x996 RU allocation in cfg80211_calculate_bitrate_he()
[ Upstream commit bcbd771cd5d68c0c52567556097d75f9fc4e7cd6 ] Currently NL80211_RATE_INFO_HE_RU_ALLOC_2x996 is not handled in cfg80211_calculate_bitrate_he(), leading to below warning: kernel: invalid HE MCS: bw:6, ru:6 kernel: WARNING: CPU: 0 PID: 2312 at net/wireless/util.c:1501 cfg80211_calculate_bitrate_he+0x22b/0x270 [cfg80211] Fix it by handling 2x996 RU allocation in the same way as 160 MHz bandwidth. Fixes: c4cbaf7973a7 ("cfg80211: Add support for HE") Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com> Link: https://msgid.link/20240606020653.33205-3-quic_bqiang@quicinc.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/util.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/wireless/util.c b/net/wireless/util.c
index 187e29a30c2a..7acd8d0db61a 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -1480,7 +1480,9 @@ static u32 cfg80211_calculate_bitrate_he(struct rate_info *rate)
if (WARN_ON_ONCE(rate->nss < 1 || rate->nss > 8))
return 0;
- if (rate->bw == RATE_INFO_BW_160)
+ if (rate->bw == RATE_INFO_BW_160 ||
+ (rate->bw == RATE_INFO_BW_HE_RU &&
+ rate->he_ru_alloc == NL80211_RATE_INFO_HE_RU_ALLOC_2x996))
result = rates_160M[rate->he_gi];
else if (rate->bw == RATE_INFO_BW_80 ||
(rate->bw == RATE_INFO_BW_HE_RU &&