From c4a114e2b8c9ac3f2b941b81f0c6031c4177dca4 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 4 Jul 2025 20:43:50 +0200 Subject: [PATCH] wifi: mt76: fix queue assignment for deauth packets When running in AP mode and deauthenticating a client that's in powersave mode, the disassoc/deauth packet can get stuck in a tx queue along with other buffered frames. This can fill up hardware queues with frames that are only released after the WTBL slot is reused for another client. Fix this by moving deauth packets to the ALTX queue. Signed-off-by: Felix Fietkau --- tx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tx.c b/tx.c index 51391646..dc9bf2ff 100644 --- a/tx.c +++ b/tx.c @@ -617,7 +617,8 @@ mt76_txq_schedule_pending_wcid(struct mt76_phy *phy, struct mt76_wcid *wcid, if ((dev->drv->drv_flags & MT_DRV_HW_MGMT_TXQ) && !(info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) && !ieee80211_is_data(hdr->frame_control) && - !ieee80211_is_bufferable_mmpdu(skb)) + (!ieee80211_is_bufferable_mmpdu(skb) || + ieee80211_is_deauth(hdr->frame_control))) qid = MT_TXQ_PSD; q = phy->q_tx[qid];