mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: mt7921: fix returned txpower
This bug was noticed by me and confirmed by many more people using this chipset with openwrt: https://github.com/openwrt/mt76/issues/783 It seems that for this particular chipset the mt76_phy->txpower_cur is never set, like in the case of other chipsets like mt7603, mt7615, etc. The driver is correctly calculating the TX power adjustment based on the number of antennas. However, the base TX power (phy->txpower_cur) is not being properly initialized or set to a meaningful value. It's starting at 0, so the final result is just the antenna gain compensation divided by 2. Signed-off-by: Razvan Grigore <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
f118073642
commit
ffd1cbfc48
@@ -1254,7 +1254,9 @@ static void mt7921_ipv6_addr_change(struct ieee80211_hw *hw,
|
|||||||
int mt7921_set_tx_sar_pwr(struct ieee80211_hw *hw,
|
int mt7921_set_tx_sar_pwr(struct ieee80211_hw *hw,
|
||||||
const struct cfg80211_sar_specs *sar)
|
const struct cfg80211_sar_specs *sar)
|
||||||
{
|
{
|
||||||
|
struct mt76_power_limits limits_array;
|
||||||
struct mt76_phy *mphy = hw->priv;
|
struct mt76_phy *mphy = hw->priv;
|
||||||
|
int tx_power;
|
||||||
|
|
||||||
if (sar) {
|
if (sar) {
|
||||||
int err = mt76_init_sar_power(hw, sar);
|
int err = mt76_init_sar_power(hw, sar);
|
||||||
@@ -1264,6 +1266,11 @@ int mt7921_set_tx_sar_pwr(struct ieee80211_hw *hw,
|
|||||||
}
|
}
|
||||||
mt792x_init_acpi_sar_power(mt792x_hw_phy(hw), !sar);
|
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 mt76_connac_mcu_set_rate_txpower(mphy);
|
return mt76_connac_mcu_set_rate_txpower(mphy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user