mt76x02: run calibration after scanning
authorStanislaw Gruszka <sgruszka@redhat.com>
Thu, 1 Nov 2018 15:35:01 +0000 (16:35 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 30 Nov 2018 11:21:43 +0000 (12:21 +0100)
commitf1b8ee35fec4a070b7760a99709fc98f237c2b86
tree33232312bcd1036f22b84688af0aa55cf13f7f75
parentc69505367c2a81683a35b0ff263485f41fe19c89
mt76x02: run calibration after scanning

If we are associated and scanning is performed, sw_scan_complete callback
is done after we get back to operating channel, so we do not perform
queue cal work. Fix this queue cal work from sw_scan_complete().

On mt76x0 we have to restore gain in MT_BBP(AGC, 8) register after
scanning, as it was multiple times modified by channel switch code.
So queue cal work without any delay to set AGC gain value.

Similar like in mt76x2 init AGC gain only when set operating channel
and just check before queuing cal work in sw_scan_complete() if
initialization was already done.

Fixes: bbd10586f0df ("mt76x0: phy: do not run calibration during channel switch")
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x0/phy.c
drivers/net/wireless/mediatek/mt76/mt76x02.h
drivers/net/wireless/mediatek/mt76/mt76x02_phy.c
drivers/net/wireless/mediatek/mt76/mt76x02_util.c