summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChih-Kang Chang <gary.chang@realtek.com>2026-06-25 14:15:45 +0800
committerPing-Ke Shih <pkshih@realtek.com>2026-07-03 11:40:35 +0800
commitdbff9040587e9bd6d3ee337315971957f9f76612 (patch)
tree9465ae55291e09d1a72c38e5ed329c93145c8631
parent03a963f4aeda538acad50806e94ef25d95b78743 (diff)
downloadlinux-dbff9040587e9bd6d3ee337315971957f9f76612.tar.gz
linux-dbff9040587e9bd6d3ee337315971957f9f76612.zip
wifi: rtw89: wow: only WiFi 6 chips initialize RF registers in WoWLAN mode
Only the WiFi 6 chips need to initialize RF register when WoWLAN download FW for some power save issue. Applying the same initialization flow to WiFi 7 chips might trigger the error 'RF parameters exceed size. path=1, idx=1500.'. This happens because normal mode uses rtw89_phy_config_rf_reg_v1(), which skips registers with addresses below 0x100. However, WoWLAN mode uses rtw89_phy_config_rf_reg_noio(), and WiFi 7 chips do not satisfy the rtw89_chip_rf_v1() condition. As a result, more RF registers are configured, causing the size overflow error. Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260625061545.44808-11-pkshih@realtek.com
-rw-r--r--drivers/net/wireless/realtek/rtw89/wow.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/wow.c b/drivers/net/wireless/realtek/rtw89/wow.c
index 8dadd8df4fc6..a7539f91264d 100644
--- a/drivers/net/wireless/realtek/rtw89/wow.c
+++ b/drivers/net/wireless/realtek/rtw89/wow.c
@@ -1299,7 +1299,8 @@ static int rtw89_wow_swap_fw(struct rtw89_dev *rtwdev, bool wow)
if (disable_intr_for_dlfw)
rtw89_hci_enable_intr(rtwdev);
- rtw89_phy_init_rf_reg(rtwdev, true);
+ if (chip->chip_gen == RTW89_CHIP_AX)
+ rtw89_phy_init_rf_reg(rtwdev, true);
ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif_link, rtwsta_link,
RTW89_ROLE_FW_RESTORE);