| From 229f35ad8a192a4e7063336cc58717dab0707b5a 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 a2d7bf5..50daa22 100644 |
| --- a/net/mac80211/sta_info.c |
| +++ b/net/mac80211/sta_info.c |
| @@ -2396,7 +2396,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.18.0 |
| |