]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rtw89: Fix rtw89_usb_ops_mac_lv1_rcvy() for RTL8922AU
authorBitterblue Smith <rtl8821cerfe2@gmail.com>
Sun, 19 Apr 2026 13:40:59 +0000 (16:40 +0300)
committerPing-Ke Shih <pkshih@realtek.com>
Wed, 29 Apr 2026 03:16:53 +0000 (11:16 +0800)
RTL8922AU uses a different register and mask to reset TX/RX. Add them
here.

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/fd6ae7f6-0035-45d8-8832-49a053fd217d@gmail.com
drivers/net/wireless/realtek/rtw89/reg.h
drivers/net/wireless/realtek/rtw89/usb.c

index 42ffe83931a370deb1d5482ba48a77cd51af9c34..570d5883761b84209dc6b058fd9f5522a8a9afbb 100644 (file)
 #define R_BE_LTR_LATENCY_IDX2_V1 0x361C
 #define R_BE_LTR_LATENCY_IDX3_V1 0x3620
 
+#define R_BE_USB2_WLAN_TRX_OPT_PAR2 0x41BC
+#define B_BE_USB2_USBRX_RST BIT(1)
+#define B_BE_USB2_USBTX_RST BIT(0)
+
 #define R_BE_HCI_BUF_IMR 0x6018
 #define B_BE_HCI_BUF_IMR_CLR 0xC0000303
 #define B_BE_HCI_BUF_IMR_SET 0xC0000301
index d3c7ed29cfe5ebee310a19b9a2815a520467a784..fafc2b33e561a44f14eb46129fe96d5486b7d96b 100644 (file)
@@ -871,6 +871,10 @@ static int rtw89_usb_ops_mac_lv1_rcvy(struct rtw89_dev *rtwdev,
                reg = R_AX_USB_WLAN0_1_V1;
                mask = B_AX_USBRX_RST_V1 | B_AX_USBTX_RST_V1;
                break;
+       case RTL8922A:
+               reg = R_BE_USB2_WLAN_TRX_OPT_PAR2;
+               mask = B_BE_USB2_USBRX_RST | B_BE_USB2_USBTX_RST;
+               break;
        default:
                rtw89_err(rtwdev, "%s: fix me\n", __func__);
                return -EOPNOTSUPP;