[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