From 364affef82fce06a77d7f031e91b73930759a97c Mon Sep 17 00:00:00 2001 From: Shayne Chen Date: Tue, 5 Jan 2021 19:30:45 +0800 Subject: [PATCH] mt76: mt7615: mt7915: disable txpower sku when testmode enabled 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 Signed-off-by: Felix Fietkau --- mt7615/main.c | 2 +- mt7615/testmode.c | 2 ++ mt7915/main.c | 2 +- mt7915/testmode.c | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mt7615/main.c b/mt7615/main.c index 5134d051..3f6c7529 100644 --- a/mt7615/main.c +++ b/mt7615/main.c @@ -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; diff --git a/mt7615/testmode.c b/mt7615/testmode.c index a0542a30..59d99264 100644 --- a/mt7615/testmode.c +++ b/mt7615/testmode.c @@ -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); diff --git a/mt7915/main.c b/mt7915/main.c index 4a2b2035..1f0dd299 100644 --- a/mt7915/main.c +++ b/mt7915/main.c @@ -46,7 +46,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); diff --git a/mt7915/testmode.c b/mt7915/testmode.c index 1762d942..012e3cb0 100644 --- a/mt7915/testmode.c +++ b/mt7915/testmode.c @@ -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);