diff options
author | Ryder Lee <ryder.lee@mediatek.com> | 2023-07-26 20:35:06 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2023-07-31 10:56:28 +0200 |
commit | 6c0570bc21ec2073890aa252c8420ca7bec402e4 (patch) | |
tree | 6c7d6a673a9fd47e7184b50aa456ec54be2a111a | |
parent | wifi: mt76: mt7915: fix tlv length of mt7915_mcu_get_chan_mib_info (diff) | |
download | linux-6c0570bc21ec2073890aa252c8420ca7bec402e4.tar.xz linux-6c0570bc21ec2073890aa252c8420ca7bec402e4.zip |
wifi: mt76: mt7915: fix power-limits while chan_switch
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@smartrg.com>
Tested-by: Chad Monroe <chad.monroe@smartrg.com>
Signed-off-by: Allen Ye <allen.ye@mediatek.com>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt7915/main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/main.c b/drivers/net/wireless/mediatek/mt76/mt7915/main.c index eb95fb28d354..8ebbf186fab2 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7915/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7915/main.c @@ -471,7 +471,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; |