From: Kuan-Chung Chen Date: Fri, 10 Jun 2022 07:26:04 +0000 (+0800) Subject: wifi: rtw89: fix potential TX stuck X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=29363fb666bc8deee5acf27a3966f14ff63189d6;p=linux.git wifi: rtw89: fix potential TX stuck The potential TX stuck occurs when there are lots of packets to be transmitted and the boundary of the tx_resource is hit. Add this patch to avoid the TX stuck when burst traffic. Signed-off-by: Kuan-Chung Chen Signed-off-by: Ping-Ke Shih Signed-off-by: Kalle Valo Link: https://lore.kernel.org/r/20220610072610.27095-6-pkshih@realtek.com --- diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c index 6b520c4c6fd43..641ea301c4b0f 100644 --- a/drivers/net/wireless/realtek/rtw89/core.c +++ b/drivers/net/wireless/realtek/rtw89/core.c @@ -1991,6 +1991,10 @@ static void rtw89_core_txq_schedule(struct rtw89_dev *rtwdev, u8 ac, bool *reinv ieee80211_return_txq(hw, txq, sched_txq); if (frame_cnt != 0) rtw89_core_tx_kick_off(rtwdev, rtw89_core_get_qsel(rtwdev, txq->tid)); + + /* bound of tx_resource could get stuck due to burst traffic */ + if (frame_cnt == tx_resource) + *reinvoke = true; } ieee80211_txq_schedule_end(hw, ac); }