mt76: fix invalid rssi report
authorDeren Wu <deren.wu@mediatek.com>
Thu, 10 Mar 2022 16:42:36 +0000 (00:42 +0800)
committerFelix Fietkau <nbd@nbd.name>
Wed, 16 Mar 2022 16:40:22 +0000 (17:40 +0100)
Drop invalid rssi value to calculate a reasonable report

Fixes: 4550fb9e9810 ("mt76: improve signal strength reporting")
Signed-off-by: Deren Wu <deren.wu@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mac80211.c

index 372b94a665ec59e3b094a34973395290e3dd7183..5b53d008eb66485deb5db08ae70f85c2858c04f0 100644 (file)
@@ -942,10 +942,11 @@ mt76_rx_signal(struct mt76_rx_status *status)
        for (chains = status->chains; chains; chains >>= 1, chain_signal++) {
                int cur, diff;
 
-               if (!(chains & BIT(0)))
+               cur = *chain_signal;
+               if (!(chains & BIT(0)) ||
+                   cur > 0)
                        continue;
 
-               cur = *chain_signal;
                if (cur > signal)
                        swap(cur, signal);