According to vendor sdk, vco calibration has to be executed
for each channel configuration whereas mcu calibration has to be
performed during channel scanning. This patch fixes the mt76x0
monitor mode issue since in that configuration vco calibration
was never executed

Fixes: 10de7a8b4ab9 ("mt76x0: phy files")
Tested-by: Sid Hayn <[email protected]>
Signed-off-by: Lorenzo Bianconi <[email protected]>
---
 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c 
b/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c
index 5da7bfbe907f..14e8c575f6c3 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c
@@ -757,10 +757,10 @@ __mt76x0_phy_set_channel(struct mt76x0_dev *dev,
        /* Vendor driver don't do it */
        /* mt76x0_phy_set_tx_power(dev, channel, rf_bw_band); */
 
+       mt76x0_vco_cal(dev, channel);
        if (scan)
-               mt76x0_vco_cal(dev, channel);
+               mt76x0_mcu_calibrate(dev, MCU_CAL_RXDCOC, 1);
 
-       mt76x0_mcu_calibrate(dev, MCU_CAL_RXDCOC, 1);
        mt76x0_phy_set_chan_pwr(dev, channel);
 
        dev->mt76.chandef = *chandef;
-- 
2.18.0

Reply via email to