From 6450b1335f5101f0700fdc67593d355588ebc312 Mon Sep 17 00:00:00 2001
From: Deren Wu <deren.wu@mediatek.com>
Date: Fri, 11 Mar 2022 00:42:36 +0800
Subject: [PATCH] mt76: fix invalid rssi report
Git-commit: 6450b1335f5101f0700fdc67593d355588ebc312
Patch-mainline: v5.18-rc1
References: bsc#1209980
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>
Acked-by: Takashi Iwai <tiwai@suse.de>
---
drivers/net/wireless/mediatek/mt76/mac80211.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mac80211.c b/drivers/net/wireless/mediatek/mt76/mac80211.c
index 372b94a665ec..5b53d008eb66 100644
--- a/drivers/net/wireless/mediatek/mt76/mac80211.c
+++ b/drivers/net/wireless/mediatek/mt76/mac80211.c
@@ -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);
--
2.35.3