| From 1255bfdd67f8c795e26d2417f3d2e553cae8cbe6 Mon Sep 17 00:00:00 2001 |
| From: Shayne Chen <shayne.chen@mediatek.com> |
| Date: Thu, 9 Feb 2023 18:58:08 +0800 |
| Subject: [PATCH 02/16] wifi: mac80211: make rate u32 in sta_set_rate_info_rx() |
| |
| The value of last_rate in ieee80211_sta_rx_stats is degraded from u32 to |
| u16 after being assigned to rate variable, which causes information loss |
| in STA_STATS_FIELD_TYPE and later bitfields. |
| |
| Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> |
| --- |
| net/mac80211/sta_info.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c |
| index 69b4b42..ff2f057 100644 |
| --- a/net/mac80211/sta_info.c |
| +++ b/net/mac80211/sta_info.c |
| @@ -2380,7 +2380,7 @@ static void sta_stats_decode_rate(struct ieee80211_local *local, u32 rate, |
| |
| static int sta_set_rate_info_rx(struct sta_info *sta, struct rate_info *rinfo) |
| { |
| - u16 rate = READ_ONCE(sta_get_last_rx_stats(sta)->last_rate); |
| + u32 rate = READ_ONCE(sta_get_last_rx_stats(sta)->last_rate); |
| |
| if (rate == STA_STATS_RATE_INVALID) |
| return -EINVAL; |
| -- |
| 2.25.1 |
| |