]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: rtw88: Fix rtw_mac_power_switch() for RTL8814AU
authorBitterblue Smith <rtl8821cerfe2@gmail.com>
Mon, 17 Feb 2025 23:28:59 +0000 (01:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 May 2025 09:13:13 +0000 (11:13 +0200)
[ Upstream commit e66bca16638ee59e997f9d9a3711b3ae587d04d9 ]

rtw_mac_power_switch() checks bit 8 of REG_SYS_STATUS1 to see if the
chip is powered on. This bit appears to be always on in the RTL8814AU,
so ignore it.

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/2f0fcffb-3067-4d95-a68c-f2f3a5a47921@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/realtek/rtw88/mac.c

index cae9cca6dca3d8f38f5324bbc7b24742f87b9be6..ea6406df42b3df31363f306101367894955825c0 100644 (file)
@@ -291,6 +291,7 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
        if (rtw_read8(rtwdev, REG_CR) == 0xea)
                cur_pwr = false;
        else if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB &&
+                chip->id != RTW_CHIP_TYPE_8814A &&
                 (rtw_read8(rtwdev, REG_SYS_STATUS1 + 1) & BIT(0)))
                cur_pwr = false;
        else