2020-12-09 03:07:37

by Wen Gong

[permalink] [raw]
Subject: [PATCH] mac80211: fix a mistake check for rx_stats update

It should be !is_multicast_ether_addr() in ieee80211_rx_h_sta_process()
for the rx_stats update, below commit remove the !, this patch is to
change it back.

It lead the rx rate "iw wlan0 station dump" become invalid for some
scene when IEEE80211_HW_USES_RSS is set, and the rx rate become valid
with this patch for the scene.

Fixed: 09a740ce352e ("mac80211: receive and process S1G beacons")

Signed-off-by: Wen Gong <[email protected]>
---
net/mac80211/rx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index ebd01ca9d2e6..dafde71af50e 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1762,7 +1762,7 @@ ieee80211_rx_h_sta_process(struct ieee80211_rx_data *rx)
} else if (rx->sdata->vif.type == NL80211_IFTYPE_OCB) {
sta->rx_stats.last_rx = jiffies;
} else if (!ieee80211_is_s1g_beacon(hdr->frame_control) &&
- is_multicast_ether_addr(hdr->addr1)) {
+ !is_multicast_ether_addr(hdr->addr1)) {
/*
* Mesh beacons will update last_rx when if they are found to
* match the current local configuration when processed.
--
2.23.0