summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/mediatek/mt7601u
diff options
context:
space:
mode:
authorStanislaw Gruszka <sgruszka@redhat.com>2018-06-09 12:10:44 +0200
committerKalle Valo <kvalo@codeaurora.org>2018-06-24 20:01:38 +0300
commit92963318a255fd5df94159767cd4750e55d98cb0 (patch)
tree2bd25627220e95fdff54152d8842d4890412ea80 /drivers/net/wireless/mediatek/mt7601u
parentf8c095f679625a26efc7bb1b8c4b3c6fcaef4633 (diff)
mt7601u: remove warning when avg_rssi is zero
It turned out that we can run calibration without already received frames with RSSI data. In such case just don't update AGC register and don't print the warning. Fixes: b305a6ab0247 ("mt7601u: use EWMA to calculate avg_rssi") Reported-by: Adam Borowski <kilobyte@angband.pl> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Jakub Kicinski <kubakici@wp.pl> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt7601u')
-rw-r--r--drivers/net/wireless/mediatek/mt7601u/phy.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/mediatek/mt7601u/phy.c b/drivers/net/wireless/mediatek/mt7601u/phy.c
index 9d2f9a776ef1..b804abd464ae 100644
--- a/drivers/net/wireless/mediatek/mt7601u/phy.c
+++ b/drivers/net/wireless/mediatek/mt7601u/phy.c
@@ -986,13 +986,15 @@ static void mt7601u_agc_tune(struct mt7601u_dev *dev)
*/
spin_lock_bh(&dev->con_mon_lock);
avg_rssi = ewma_rssi_read(&dev->avg_rssi);
- WARN_ON_ONCE(avg_rssi == 0);
+ spin_unlock_bh(&dev->con_mon_lock);
+ if (avg_rssi == 0)
+ return;
+
avg_rssi = -avg_rssi;
if (avg_rssi <= -70)
val -= 0x20;
else if (avg_rssi <= -60)
val -= 0x10;
- spin_unlock_bh(&dev->con_mon_lock);
if (val != mt7601u_bbp_rr(dev, 66))
mt7601u_bbp_wr(dev, 66, val);