From: Johannes Berg Date: Thu, 4 May 2017 05:52:10 +0000 (+0200) Subject: cfg80211: improve warnings in VHT rate calculation X-Git-Tag: C0P2-H0.0--20200415~65 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=d195bc15aa9404a2d014c4cd25c80bcd5086536a;p=linux.git cfg80211: improve warnings in VHT rate calculation Linus reported hitting the bandwidth warning, but it is indeed pretty useless - improve it by printing the rate configuration and make it only warn once, for both warnings here. Reported-by: Linus Torvalds Signed-off-by: Johannes Berg --- diff --git a/net/wireless/util.c b/net/wireless/util.c index c83ada03b7e6..598545307fb0 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c @@ -1200,8 +1200,8 @@ static u32 cfg80211_calculate_bitrate_vht(struct rate_info *rate) u32 bitrate; int idx; - if (WARN_ON_ONCE(rate->mcs > 9)) - return 0; + if (rate->mcs > 9) + goto warn; switch (rate->bw) { case RATE_INFO_BW_160: @@ -1216,8 +1216,7 @@ static u32 cfg80211_calculate_bitrate_vht(struct rate_info *rate) case RATE_INFO_BW_5: case RATE_INFO_BW_10: default: - WARN_ON(1); - /* fall through */ + goto warn; case RATE_INFO_BW_20: idx = 0; } @@ -1230,6 +1229,10 @@ static u32 cfg80211_calculate_bitrate_vht(struct rate_info *rate) /* do NOT round down here */ return (bitrate + 50000) / 100000; + warn: + WARN_ONCE(1, "invalid rate bw=%d, mcs=%d, nss=%d\n", + rate->bw, rate->mcs, rate->nss); + return 0; } u32 cfg80211_calculate_bitrate(struct rate_info *rate)