summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorChih-Kang Chang <gary.chang@realtek.com>2026-01-27 16:50:33 +0800
committerPing-Ke Shih <pkshih@realtek.com>2026-01-30 13:54:21 +0800
commit734bb61782d4d7a7d3d4e11bbd1d2eb958c10551 (patch)
tree5a7d300bfc466da3cc0efeccc1a1b17aa841b59e /drivers
parent6792fcf6a69128be0ee4aec51f08e9e960a3fc70 (diff)
wifi: rtw89: wow: disable interrupt before swapping FW for 8922D
Except for the 8852A, 8852B, 8851B, 8852BT, all subsequent chips use HAXIDMA. Therefore, interrupts need to be disabled before swapping firmware to avoid unexpected SER. Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260127085036.44060-4-pkshih@realtek.com
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/realtek/rtw89/wow.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/wow.c b/drivers/net/wireless/realtek/rtw89/wow.c
index 5d3227e2b3e4..b67ceda59e92 100644
--- a/drivers/net/wireless/realtek/rtw89/wow.c
+++ b/drivers/net/wireless/realtek/rtw89/wow.c
@@ -1267,15 +1267,15 @@ static int rtw89_wow_swap_fw(struct rtw89_dev *rtwdev, bool wow)
enum rtw89_core_chip_id chip_id = rtwdev->chip->chip_id;
const struct rtw89_chip_info *chip = rtwdev->chip;
bool include_bb = !!chip->bbmcu_nr;
- bool disable_intr_for_dlfw = false;
+ bool disable_intr_for_dlfw = true;
struct ieee80211_sta *wow_sta;
struct rtw89_sta_link *rtwsta_link = NULL;
struct rtw89_sta *rtwsta;
bool is_conn = true;
int ret;
- if (chip_id == RTL8852C || chip_id == RTL8922A)
- disable_intr_for_dlfw = true;
+ if (chip->chip_gen == RTW89_CHIP_AX && chip_id != RTL8852C)
+ disable_intr_for_dlfw = false;
wow_sta = ieee80211_find_sta(wow_vif, wow_vif->cfg.ap_addr);
if (wow_sta) {