blob: b8580cf75462d4b34b13595c0e878095a8eea5d9 [file] [log] [blame]
developer1413c882023-02-15 00:01:06 +08001From 1255bfdd67f8c795e26d2417f3d2e553cae8cbe6 Mon Sep 17 00:00:00 2001
2From: Shayne Chen <shayne.chen@mediatek.com>
3Date: Thu, 9 Feb 2023 18:58:08 +0800
4Subject: [PATCH 02/16] wifi: mac80211: make rate u32 in sta_set_rate_info_rx()
5
6The value of last_rate in ieee80211_sta_rx_stats is degraded from u32 to
7u16 after being assigned to rate variable, which causes information loss
8in STA_STATS_FIELD_TYPE and later bitfields.
9
10Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
11---
12 net/mac80211/sta_info.c | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
16index 69b4b42..ff2f057 100644
17--- a/net/mac80211/sta_info.c
18+++ b/net/mac80211/sta_info.c
19@@ -2380,7 +2380,7 @@ static void sta_stats_decode_rate(struct ieee80211_local *local, u32 rate,
20
21 static int sta_set_rate_info_rx(struct sta_info *sta, struct rate_info *rinfo)
22 {
23- u16 rate = READ_ONCE(sta_get_last_rx_stats(sta)->last_rate);
24+ u32 rate = READ_ONCE(sta_get_last_rx_stats(sta)->last_rate);
25
26 if (rate == STA_STATS_RATE_INVALID)
27 return -EINVAL;
28--
292.25.1
30