summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBitterblue Smith <rtl8821cerfe2@gmail.com>2025-06-30 23:43:25 +0300
committerPing-Ke Shih <pkshih@realtek.com>2025-07-04 10:43:32 +0800
commita3b871a0f7c083c2a632a31da8bc3de554ae8550 (patch)
tree844c32a532786c59450920d2fcb6e9defd518567
parent02a44c2630318b880d49000f151a6d1e450e76e2 (diff)
downloadlinux-a3b871a0f7c083c2a632a31da8bc3de554ae8550.tar.gz
linux-a3b871a0f7c083c2a632a31da8bc3de554ae8550.zip
wifi: rtw89: Disable deep power saving for USB/SDIO
Disable deep power saving for USB and SDIO because rtw89_mac_send_rpwm() is called in atomic context and accessing hardware registers results in "scheduling while atomic" errors. Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com> Acked-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/0f49eceb-0de0-47e2-ba36-3c6a0dddd17d@gmail.com
-rw-r--r--drivers/net/wireless/realtek/rtw89/core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
index 1f5639a5d166..fe6b19a078c5 100644
--- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/drivers/net/wireless/realtek/rtw89/core.c
@@ -2884,6 +2884,9 @@ static enum rtw89_ps_mode rtw89_update_ps_mode(struct rtw89_dev *rtwdev)
{
const struct rtw89_chip_info *chip = rtwdev->chip;
+ if (rtwdev->hci.type != RTW89_HCI_TYPE_PCIE)
+ return RTW89_PS_MODE_NONE;
+
if (rtw89_disable_ps_mode || !chip->ps_mode_supported ||
RTW89_CHK_FW_FEATURE(NO_DEEP_PS, &rtwdev->fw))
return RTW89_PS_MODE_NONE;