[PATCH 2/2] wifi: mt76: mt7915: fix power-limits while chan_switch
Ryder Lee
ryder.lee at mediatek.com
Wed Jul 26 11:35:06 PDT 2023
If user changes the channel without completely disabling the interface the
txpower_sku values reported track the old channel the device was operating on.
If user bounces the interface the correct power tables are applied.
mt7915_sku_group_len array gets updated before the channel switch happens so it
uses data from the old channel.
Fixes: ecb187a74e18 ("mt76: mt7915: rework the flow of txpower setting")
Fixes: f1d962369d56 ("mt76: mt7915: implement HE per-rate tx power support")
Reported-By: Chad Monroe <chad.monroe at smartrg.com>
Tested-by: Chad Monroe <chad.monroe at smartrg.com>
Signed-off-by: Allen Ye <allen.ye at mediatek.com>
Signed-off-by: Ryder Lee <ryder.lee at mediatek.com>
---
drivers/net/wireless/mediatek/mt76/mt7915/main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/main.c b/drivers/net/wireless/mediatek/mt76/mt7915/main.c
index db3fc74f0f49..f8d6323bd42d 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/main.c
@@ -470,7 +470,8 @@ static int mt7915_config(struct ieee80211_hw *hw, u32 changed)
ieee80211_wake_queues(hw);
}
- if (changed & IEEE80211_CONF_CHANGE_POWER) {
+ if (changed & (IEEE80211_CONF_CHANGE_POWER |
+ IEEE80211_CONF_CHANGE_CHANNEL)) {
ret = mt7915_mcu_set_txpower_sku(phy);
if (ret)
return ret;
--
2.18.0
More information about the Linux-mediatek
mailing list