]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
mt76: mt7615: mt7915: disable txpower sku when testmode enabled
authorShayne Chen <shayne.chen@mediatek.com>
Tue, 5 Jan 2021 11:30:45 +0000 (19:30 +0800)
committerFelix Fietkau <nbd@nbd.name>
Tue, 26 Jan 2021 19:07:49 +0000 (20:07 +0100)
When testmode can be enabled, the start() callback would already be
called, causing that txpower sku feature isn't really disabled after
testmode is enabled. This patch fix the issue.

Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/main.c
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
drivers/net/wireless/mediatek/mt76/mt7915/main.c
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c

index 5134d051dc2f7a093656c8aa51e54fcd44de926d..3f6c752957b0a2f7581d21661d6dd7a578ec6a0a 100644 (file)
@@ -321,7 +321,7 @@ int mt7615_set_channel(struct mt7615_phy *phy)
        mt7615_mac_set_timing(phy);
        ret = mt7615_dfs_init_radar_detector(phy);
        mt7615_mac_cca_stats_reset(phy);
-       mt7615_mcu_set_sku_en(phy, !mt76_testmode_enabled(phy->mt76));
+       mt7615_mcu_set_sku_en(phy, true);
 
        mt7615_mac_reset_counters(dev);
        phy->noise = 0;
index a0542a309e27d89f013f528f8393e59cccbb161b..59d99264f5e5f9856f21267751e77f1009c644cf 100644 (file)
@@ -138,6 +138,8 @@ mt7615_tm_init(struct mt7615_phy *phy)
        if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
                return;
 
+       mt7615_mcu_set_sku_en(phy, phy->mt76->test.state == MT76_TM_STATE_OFF);
+
        mutex_unlock(&dev->mt76.mutex);
        mt7615_set_channel(phy);
        mt7615_ops.configure_filter(phy->mt76->hw, 0, &total_flags, 0);
index 24d912cb112d8c2c1c6c416f47209e5dfa177c2b..73c5ee10fd3e75a80e5b644131a68a7fa1cf19af 100644 (file)
@@ -44,7 +44,7 @@ static int mt7915_start(struct ieee80211_hw *hw)
                mt7915_mac_enable_nf(dev, 1);
        }
 
-       mt7915_mcu_set_sku_en(phy, !mt76_testmode_enabled(phy->mt76));
+       mt7915_mcu_set_sku_en(phy, true);
        mt7915_mcu_set_chan_info(phy, MCU_EXT_CMD_SET_RX_PATH);
 
        set_bit(MT76_STATE_RUNNING, &phy->mt76->state);
index 1762d94253e317fbcf32e71146269bf6c88f018a..012e3cb0061211a639a07a001daca8692d213ef7 100644 (file)
@@ -402,6 +402,8 @@ mt7915_tm_init(struct mt7915_phy *phy, bool en)
        if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
                return;
 
+       mt7915_mcu_set_sku_en(phy, !en);
+
        mt7915_tm_mode_ctrl(dev, en);
        mt7915_tm_reg_backup_restore(phy);
        mt7915_tm_set_trx(phy, TM_MAC_TXRX, !en);