[PATCH 1/2] mt76: connac: fix txpower_cur not updated in mt76_connac_mcu_set_rate_txpower()
bryam vargas
bryamestebanvargas at gmail.com
Thu Mar 12 09:30:19 PDT 2026
Hi Sean,
Thanks for the thorough v2 review on both patches — really helpful.
I spent the last few days digging deeper into the txpower reporting
path across mt76 sub-drivers (mt7615, mt7915, mt7996, mt7921, mt7925)
to find the most efficient fix. Turns out, Razvan Grigore already
nailed it 13 months ago:
https://patchwork.kernel.org/project/linux-wireless/patch/20250211081247.5892-3-razvan.grigore@vampirebyte.ro/
His patch adds 3 lines to mt7921_set_tx_sar_pwr() — same pattern as
mt7915 (mcu.c:3393) and mt7996 (mcu.c:4802):
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;
This runs before mt76_connac_mcu_set_rate_txpower(), so it uses the
same SAR-bounded, DT-capped value that the firmware receives. And
since set_tx_sar_pwr() is called from all four paths you pointed out
(init, config, regd_update, set_sar_specs), it covers every scenario
— including the ones Lucid Duck's BSS_CHANGED_TXPOWER approach misses
when not associated.
I'm withdrawing both of my patches. Razvan's approach is the right
one, and I don't want to duplicate his work.
What I'll focus on instead:
- Testing: I'll verify Razvan's patch on my MT7921U (NAB9, 2400m
altitude, daily use serving real users) and provide Tested-by.
- SEFI/USB reset: You're right that v2 was premature. I'll file a
proper bug with full dmesg, lsusb topology, and usbmon captures
first, then propose a fix only after the failure mode is understood.
- WF_MIB over USB: Still interested in your thoughts on my March 12
email about MT_MIB_SDR9/36/37 returning 0 on mt7921u. From what
I've seen, the USB variant has several gaps beyond txpower — survey
data, channel time counters — that I'd like to help close.
Best regards,
Bryam Vargas
More information about the Linux-mediatek
mailing list