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 <[email protected]>
> Signed-off-by: Stanislaw Gruszka <[email protected]>
> ---
>  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!
-- 
⢀⣴⠾⠻⢶⣦⠀ I've read an article about how lively happy music boosts
⣾⠁⢰⠒⠀⣿⡁ productivity.  You can read it, too, you just need the
⢿⡄⠘⠷⠚⠋⠀ right music while doing so.  I recommend Skepticism
⠈⠳⣄⠀⠀⠀⠀ (funeral doom metal).

Reply via email to