OSDN Git Service

mt76x0: phy: fix restore phase in mt76x0_phy_recalibrate_after_assoc
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Tue, 9 Oct 2018 08:57:06 +0000 (10:57 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 Dec 2019 08:16:19 +0000 (09:16 +0100)
[ Upstream commit 4df942733fd26d9378a4a00619be348c771e0190 ]

Fix restore value configured in MT_BBP(IBI, 9) register in
mt76x0_phy_recalibrate_after_assoc routine.

Fixes: 10de7a8b4ab9 ("mt76x0: phy files")
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mediatek/mt76/mt76x0/phy.c

index 14e8c57..924c761 100644 (file)
@@ -793,9 +793,8 @@ void mt76x0_phy_recalibrate_after_assoc(struct mt76x0_dev *dev)
        mt76_wr(dev, MT_TX_ALC_CFG_0, 0);
        usleep_range(500, 700);
 
-       reg_val = mt76_rr(dev, 0x2124);
-       reg_val &= 0xffffff7e;
-       mt76_wr(dev, 0x2124, reg_val);
+       reg_val = mt76_rr(dev, MT_BBP(IBI, 9));
+       mt76_wr(dev, MT_BBP(IBI, 9), 0xffffff7e);
 
        mt76x0_mcu_calibrate(dev, MCU_CAL_RXDCOC, 0);
 
@@ -806,7 +805,7 @@ void mt76x0_phy_recalibrate_after_assoc(struct mt76x0_dev *dev)
        mt76x0_mcu_calibrate(dev, MCU_CAL_RXIQ, is_5ghz);
        mt76x0_mcu_calibrate(dev, MCU_CAL_RX_GROUP_DELAY, is_5ghz);
 
-       mt76_wr(dev, 0x2124, reg_val);
+       mt76_wr(dev, MT_BBP(IBI, 9), reg_val);
        mt76_wr(dev, MT_TX_ALC_CFG_0, tx_alc);
        msleep(100);