diff mbox series

[1/8] wifi: rtw88: Fix rtw_mac_power_switch() for RTL8814AU

Message ID 83c8e281-0d25-4de6-a6c7-84d24b228888@gmail.com (mailing list archive)
State Changes Requested
Delegated to: Ping-Ke Shih
Headers show
Series wifi: rtw88: Prepare to support RTL8814AU (part 2/2) | expand

Commit Message

Bitterblue Smith Feb. 11, 2025, 10:22 p.m. UTC
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>
---
 drivers/net/wireless/realtek/rtw88/mac.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Ping-Ke Shih Feb. 13, 2025, 7:29 a.m. UTC | #1
Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> 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>
> ---
>  drivers/net/wireless/realtek/rtw88/mac.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c
> index 63edf6461de8..5de16c75adf2 100644
> --- a/drivers/net/wireless/realtek/rtw88/mac.c
> +++ b/drivers/net/wireless/realtek/rtw88/mac.c
> @@ -291,7 +291,8 @@ 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 &&
> -                (rtw_read8(rtwdev, REG_SYS_STATUS1 + 1) & BIT(0)))
> +                  chip->id != RTW_CHIP_TYPE_8814A &&
> +                  (rtw_read8(rtwdev, REG_SYS_STATUS1 + 1) & BIT(0)))

The newly added codes are not aligned, and seemingly only need to add 
the line checking 8814A.

>                 cur_pwr = false;
>         else
>                 cur_pwr = true;
> --
> 2.48.1
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c
index 63edf6461de8..5de16c75adf2 100644
--- a/drivers/net/wireless/realtek/rtw88/mac.c
+++ b/drivers/net/wireless/realtek/rtw88/mac.c
@@ -291,7 +291,8 @@  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 &&
-		 (rtw_read8(rtwdev, REG_SYS_STATUS1 + 1) & BIT(0)))
+		   chip->id != RTW_CHIP_TYPE_8814A &&
+		   (rtw_read8(rtwdev, REG_SYS_STATUS1 + 1) & BIT(0)))
 		cur_pwr = false;
 	else
 		cur_pwr = true;