[PATCH 5/5] wifi: mt76: mt7996: fix queue pause after scan due to wrong channel switch reason

Shayne Chen shayne.chen at mediatek.com
Mon Feb 2 03:52:33 PST 2026


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.

> Maybe a better replacement would be to check for a chanctx on the
> phy?
> 
Will do some tests on this and send v2.

Thanks,
Shayne 

> - Felix




More information about the Linux-mediatek mailing list