diff options
author | Baochen Qiang <quic_bqiang@quicinc.com> | 2024-06-06 10:06:53 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-08-19 05:31:57 +0200 |
commit | 45d20a1c54be4f3173862c7b950d4468447814c9 (patch) | |
tree | 243c7569e502391cf4236fbdccde7a7f5121930e /net | |
parent | 0166ece82068d6fa9739a677ac3884941fc35153 (diff) | |
download | linux-stable-45d20a1c54be4f3173862c7b950d4468447814c9.tar.gz linux-stable-45d20a1c54be4f3173862c7b950d4468447814c9.tar.bz2 linux-stable-45d20a1c54be4f3173862c7b950d4468447814c9.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')
-rw-r--r-- | net/wireless/util.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/wireless/util.c b/net/wireless/util.c index eff4877bb438..7886f26043ed 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c @@ -1226,7 +1226,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 && |