Message ID | 20180609101043.GA28502@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 92963318a255fd5df94159767cd4750e55d98cb0 |
Delegated to: | Kalle Valo |
Headers | show |
On Sat, Jun 09, 2018 at 12:10:44PM +0200, Stanislaw Gruszka wrote: > 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") The patch is quite obvious, but still had to be tested, at least out of principle. And unsurprisingly, no Earth-shattering kaboom. > Reported-by: Adam Borowski <kilobyte@angband.pl> > Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> > --- > drivers/net/wireless/mediatek/mt7601u/phy.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/mediatek/mt7601u/phy.c b/drivers/net/wireless/mediatek/mt7601u/phy.c > index d440c550bdb1..3ffc8d19285b 100644 > --- a/drivers/net/wireless/mediatek/mt7601u/phy.c > +++ b/drivers/net/wireless/mediatek/mt7601u/phy.c > @@ -985,13 +985,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); > -- > 1.9.3 Meow!
On Sat, 9 Jun 2018 12:10:44 +0200, Stanislaw Gruszka wrote: > 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>
Stanislaw Gruszka <sgruszka@redhat.com> wrote: > 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> As the first release for b305a6ab0247 was v4.18-rc1, I'll queue this to 4.18.
Stanislaw Gruszka <sgruszka@redhat.com> wrote: > 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> Patch applied to wireless-drivers.git, thanks. 92963318a255 mt7601u: remove warning when avg_rssi is zero
diff --git a/drivers/net/wireless/mediatek/mt7601u/phy.c b/drivers/net/wireless/mediatek/mt7601u/phy.c index d440c550bdb1..3ffc8d19285b 100644 --- a/drivers/net/wireless/mediatek/mt7601u/phy.c +++ b/drivers/net/wireless/mediatek/mt7601u/phy.c @@ -985,13 +985,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);
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> --- drivers/net/wireless/mediatek/mt7601u/phy.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)