The TX queues should be woken when there are at least 4 available entries, not when there are at most 4. Tested with RTL8821AE. Fixes: d0311314d002 ("rtlwifi: rtl8192ee: Fix handling of new style descriptors") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> --- drivers/net/wireless/realtek/rtlwifi/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c index 0eafc4d125f9..9614a9e752b9 100644 --- a/drivers/net/wireless/realtek/rtlwifi/pci.c +++ b/drivers/net/wireless/realtek/rtlwifi/pci.c @@ -520,7 +520,7 @@ static void _rtl_pci_tx_isr(struct ieee80211_hw *hw, int prio) rtl_tx_ackqueue(hw, skb); } - if ((ring->entries - skb_queue_len(&ring->queue)) <= 4) { + if ((ring->entries - skb_queue_len(&ring->queue)) >= 4) { rtl_dbg(rtlpriv, COMP_ERR, DBG_DMESG, "more desc left, wake skb_queue@%d, ring->idx = %d, skb_queue_len = 0x%x\n", prio, ring->idx, -- 2.48.1