mt76: mt76x0e: another fix for the external PA current setting
authorFelix Fietkau <nbd@nbd.name>
Tue, 9 Oct 2018 08:44:36 +0000 (10:44 +0200)
committerFelix Fietkau <nbd@nbd.name>
Sat, 13 Oct 2018 15:39:36 +0000 (17:39 +0200)
- Use the register number define instead of a magic value
- Fix inverted bit test (override needs to be applied if the bit is not set)

Fixes: 2b2cb40bcd7d ("mt76x0: pci: add hw initialization at bootstrap")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x0/pci.c

index cc8af17..fd2dc7e 100644 (file)
@@ -111,17 +111,10 @@ static int mt76x0e_register_device(struct mt76x02_dev *dev)
                u16 val;
 
                mt76_clear(dev, MT_COEXCFG0, BIT(0));
+
                val = mt76x02_eeprom_get(dev, MT_EE_NIC_CONF_0);
-               if (val & MT_EE_NIC_CONF_0_PA_IO_CURRENT) {
-                       u32 data;
-
-                       /* set external PA I/O
-                        * current to 16mA
-                        */
-                       data = mt76_rr(dev, 0x11c);
-                       data |= 0xc03;
-                       mt76_wr(dev, 0x11c, data);
-               }
+               if (!(val & MT_EE_NIC_CONF_0_PA_IO_CURRENT))
+                       mt76_set(dev, MT_XO_CTRL7, 0xc03);
        }
 
        mt76_clear(dev, 0x110, BIT(9));