aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDian-Syuan Yang <dian_syuan0116@realtek.com>2025-05-07 11:12:03 +0800
committerPing-Ke Shih <pkshih@realtek.com>2025-05-16 08:29:30 +0800
commitd105652b33245162867ac769bea336976e67efb8 (patch)
tree57a2219173d4f47e56a5928b8459a60371e3392b
parentwifi: rtw89: pci: configure manual DAC mode via PCI config API only (diff)
downloadwireguard-linux-d105652b33245162867ac769bea336976e67efb8.tar.xz
wireguard-linux-d105652b33245162867ac769bea336976e67efb8.zip
wifi: rtw89: leave idle mode when setting WEP encryption for AP mode
Due to mac80211 triggering the hardware to enter idle mode, it fails to install WEP key causing connected station can't ping successfully. Currently, it forces the hardware to leave idle mode before driver adding WEP keys. Signed-off-by: Dian-Syuan Yang <dian_syuan0116@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20250507031203.8256-1-pkshih@realtek.com
-rw-r--r--drivers/net/wireless/realtek/rtw89/cam.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/cam.c b/drivers/net/wireless/realtek/rtw89/cam.c
index 34316e64b777..385a238fe5cc 100644
--- a/drivers/net/wireless/realtek/rtw89/cam.c
+++ b/drivers/net/wireless/realtek/rtw89/cam.c
@@ -6,6 +6,7 @@
#include "debug.h"
#include "fw.h"
#include "mac.h"
+#include "ps.h"
static struct sk_buff *
rtw89_cam_get_sec_key_cmd(struct rtw89_dev *rtwdev,
@@ -475,9 +476,11 @@ int rtw89_cam_sec_key_add(struct rtw89_dev *rtwdev,
switch (key->cipher) {
case WLAN_CIPHER_SUITE_WEP40:
+ rtw89_leave_ips_by_hwflags(rtwdev);
hw_key_type = RTW89_SEC_KEY_TYPE_WEP40;
break;
case WLAN_CIPHER_SUITE_WEP104:
+ rtw89_leave_ips_by_hwflags(rtwdev);
hw_key_type = RTW89_SEC_KEY_TYPE_WEP104;
break;
case WLAN_CIPHER_SUITE_TKIP: