[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