diff options
| author | Kuan-Chung Chen <damon.chen@realtek.com> | 2022-06-10 15:26:04 +0800 |
|---|---|---|
| committer | Kalle Valo <kvalo@kernel.org> | 2022-06-21 09:15:47 +0300 |
| commit | 29363fb666bc8deee5acf27a3966f14ff63189d6 (patch) | |
| tree | 3f9bc7e7f1f8e752920f33684af508a8c9ac3daf | |
| parent | 6a5a783a71cf47ad65ddf8904a71b43d303f2668 (diff) | |
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 <damon.chen@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220610072610.27095-6-pkshih@realtek.com
| -rw-r--r-- | drivers/net/wireless/realtek/rtw89/core.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c index 6b520c4c6fd4..641ea301c4b0 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); } |
