[PATCH 5/5] wifi: mt76: mt7996: fix queue pause after scan due to wrong channel switch reason
Felix Fietkau
nbd at nbd.name
Mon Feb 2 04:22:53 PST 2026
On 02.02.26 12:52, Shayne Chen wrote:
> On Mon, 2026-02-02 at 10:01 +0100, Felix Fietkau wrote:
>> On 02.02.26 08:53, Shayne Chen wrote:
>> > From: StanleyYP Wang <StanleyYP.Wang at mediatek.com>
>> >
>> > Previously, we use the IEEE80211_CONF_IDLE flag to avoid setting
>> > the
>> > parking channel with the CH_SWITCH_NORMAL reason, which could
>> > trigger TX
>> > emission before bootup CAC.
>> >
>> > However, we found that this flag can be set after triggering
>> > scanning on a
>> > connected station interface, and the reason
>> > CH_SWITCH_SCAN_BYPASS_DPD will
>> > be used when switching back to the operating channel, which makes
>> > the
>> > firmware failed to resume paused AC queues.
>> >
>> > Seems that we should avoid relying on this flag after switching to
>> > single
>> > multi-radio architecture. Instead, replace it with
>> > MT76_STATE_RUNNING.
>>
>> I don't see how the conditions are comparable at all. I also don't
>> see
>> how this function can be called with MT76_STATE_RUNNING unset.
>>
> The condition is used to prevent mt7996_mcu_set_chan_info() (in
> mt7996_run()) from triggering TX emission.
Makes sense.
>> Maybe a better replacement would be to check for a chanctx on the
>> phy?
>>
> Will do some tests on this and send v2.
Thanks.
- Felix
More information about the Linux-mediatek
mailing list