summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChia-Yuan Li <leo.li@realtek.com>2025-07-15 06:52:55 +0300
committerPing-Ke Shih <pkshih@realtek.com>2025-07-18 08:58:56 +0300
commitcbf510e21e0ce3d75b099528859526cc24ebf628 (patch)
tree0e5d68f673599004d35d31ebc9594146ec07f936
parent526b000991b557c40ea53e64ba24bb9e0fff0071 (diff)
downloadlinux-cbf510e21e0ce3d75b099528859526cc24ebf628.tar.xz
wifi: rtw89: trigger TX stuck if FIFO full
In order for the situation where the dispatcher blocking causes HAXIDMA to be unable to TX to be reported as a TX stuck, so that subsequent recovery can be handled. Signed-off-by: Chia-Yuan Li <leo.li@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20250715035259.45061-2-pkshih@realtek.com
-rw-r--r--drivers/net/wireless/realtek/rtw89/pci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c
index 597de632e364..a669f2f843aa 100644
--- a/drivers/net/wireless/realtek/rtw89/pci.c
+++ b/drivers/net/wireless/realtek/rtw89/pci.c
@@ -2638,6 +2638,10 @@ static void rtw89_pci_set_dbg(struct rtw89_dev *rtwdev)
rtw89_write32_set(rtwdev, R_AX_PCIE_DBG_CTRL,
B_AX_ASFF_FULL_NO_STK | B_AX_EN_STUCK_DBG);
+ rtw89_write32_mask(rtwdev, R_AX_PCIE_EXP_CTRL,
+ B_AX_EN_STUCK_DBG | B_AX_ASFF_FULL_NO_STK,
+ B_AX_EN_STUCK_DBG);
+
if (rtwdev->chip->chip_id == RTL8852A)
rtw89_write32_set(rtwdev, R_AX_PCIE_EXP_CTRL,
B_AX_EN_CHKDSC_NO_RX_STUCK);