Wen Gong <wgong@xxxxxxxxxxxxxx> writes:
On 2021-02-10 08:42, Shuah Khan wrote:
ath10k_mac_get_rate_flags_ht() floods dmesg with the following
messages,
when it fails to find a match for mcs=7 and rate=1440.
supported_ht_mcs_rate_nss2:
{7, {1300, 2700, 1444, 3000} }
ath10k_pci 0000:02:00.0: invalid ht params rate 1440 100kbps nss 2
mcs 7
dev_warn_ratelimited() isn't helping the noise. Use dev_warn_once()
instead.
Signed-off-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
---
drivers/net/wireless/ath/ath10k/mac.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/ath/ath10k/mac.c
b/drivers/net/wireless/ath/ath10k/mac.c
index 3545ce7dce0a..276321f0cfdd 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -8970,8 +8970,9 @@ static void ath10k_mac_get_rate_flags_ht(struct
ath10k *ar, u32 rate, u8 nss, u8
*bw |= RATE_INFO_BW_40;
*flags |= RATE_INFO_FLAGS_SHORT_GI;
} else {
- ath10k_warn(ar, "invalid ht params rate %d 100kbps nss %d mcs %d",
- rate, nss, mcs);
+ dev_warn_once(ar->dev,
+ "invalid ht params rate %d 100kbps nss %d mcs %d",
+ rate, nss, mcs);
}
}
The {7, {1300, 2700, 1444, 3000} } is a correct value.
The 1440 is report from firmware, its a wrong value, it has fixed in
firmware.
In what version?
If change it to dev_warn_once, then it will have no chance to find the
other wrong values which report by firmware, and it indicate
a wrong value to mac80211/cfg80211 and lead "iw wlan0 station dump"
get a wrong bitrate.
I agree, we should keep this warning. If the firmware still keeps
sending invalid rates we should add a specific check to ignore the known
invalid values, but not all of them.