diff --git a/mt7925/main.c b/mt7925/main.c index 01421ecc..9f88a857 100644 --- a/mt7925/main.c +++ b/mt7925/main.c @@ -1726,7 +1726,9 @@ static void mt7925_ipv6_addr_change(struct ieee80211_hw *hw, int mt7925_set_tx_sar_pwr(struct ieee80211_hw *hw, const struct cfg80211_sar_specs *sar) { + struct mt76_power_limits limits_array; struct mt76_phy *mphy = hw->priv; + int tx_power; if (sar) { int err = mt76_init_sar_power(hw, sar); @@ -1736,6 +1738,11 @@ int mt7925_set_tx_sar_pwr(struct ieee80211_hw *hw, } mt792x_init_acpi_sar_power(mt792x_hw_phy(hw), !sar); + tx_power = mt76_get_power_bound(mphy, hw->conf.power_level); + tx_power = mt76_get_rate_power_limits(mphy, mphy->chandef.chan, + &limits_array, tx_power); + mphy->txpower_cur = tx_power; + return mt7925_mcu_set_rate_txpower(mphy); }