[PATCH] wifi: rtw88: disable ASPM and deep PS on ASUS TUF Gaming A15 FA506IH

Rahul Kumar Rai via B4 Relay posted 1 patch 1 month ago
drivers/net/wireless/realtek/rtw88/pci.c | 10 ++++++++++
1 file changed, 10 insertions(+)
[PATCH] wifi: rtw88: disable ASPM and deep PS on ASUS TUF Gaming A15 FA506IH
Posted by Rahul Kumar Rai via B4 Relay 1 month ago
From: Rahul Kumar Rai <learn.rahul.rai@gmail.com>

The RTL8822CE on the ASUS TUF Gaming A15 FA506IH fails to return from
PCIe low-power states across system suspend. The device is inaccessible
on the way back to D0, so the MAC power-on sequence and the firmware
handshake that follow it fail, and the driver gives up. Wi-Fi stays
unavailable until the machine is powered off completely:

  rtw88_8822ce 0000:03:00.0: Unable to change power state from D3cold to D0, device inaccessible
  rtw88_8822ce 0000:03:00.0: failed to poll offset=0x5 mask=0x2 value=0x0
  rtw88_8822ce 0000:03:00.0: mac power on failed
  rtw88_8822ce 0000:03:00.0: probe with driver rtw88_8822ce failed with error -114

Reads of the ASPM link-configuration register over DBI also time out
around the same transitions.

This is not a one-off. It has been recurring on this machine for a long
time. The kernel logs still on disk begin at 2026-07-20 and already
contain six failed D-state transitions and three probe failures of this
kind, and the problem was present well before that window.

This is the same platform ASPM inter-operability problem already handled
for other machines through rtw_pci_quirks[], including the closely
related ASUS TUF Gaming A15 FA506II. The FA506IH reports a different DMI
board name, so that entry does not match. Disabling PCI ASPM and deep
power save stops the failure on this model as well.

  DMI_SYS_VENDOR = ASUSTeK COMPUTER INC.
  DMI_BOARD_NAME = FA506IH

Signed-off-by: Rahul Kumar Rai <learn.rahul.rai@gmail.com>
---
 drivers/net/wireless/realtek/rtw88/pci.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c
index 5b00c1e1eec6..fcb6f4c4cc2d 100644
--- a/drivers/net/wireless/realtek/rtw88/pci.c
+++ b/drivers/net/wireless/realtek/rtw88/pci.c
@@ -1789,6 +1789,16 @@ static const struct dmi_system_id rtw_pci_quirks[] = {
 		.driver_data = (void *)(BIT(QUIRK_DIS_CAP_PCI_ASPM) |
 					BIT(QUIRK_DIS_CAP_LPS_DEEP)),
 	},
+	{
+		.callback = rtw_pci_disable_caps,
+		.ident = "ASUS TUF Gaming A15 FA506IH",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+			DMI_MATCH(DMI_BOARD_NAME, "FA506IH"),
+		},
+		.driver_data = (void *)(BIT(QUIRK_DIS_CAP_PCI_ASPM) |
+					BIT(QUIRK_DIS_CAP_LPS_DEEP)),
+	},
 	{}
 };
 

---
base-commit: 66fb95a521110da673090294561844c9f76ebe64
change-id: 20260823-fa506ih-rtw88-quirk-6c157d80c0f1

Best regards,
--  
Rahul Kumar Rai <learn.rahul.rai@gmail.com>
Re: [PATCH] wifi: rtw88: disable ASPM and deep PS on ASUS TUF Gaming A15 FA506IH
Posted by Ping-Ke Shih 3 weeks, 5 days ago
Rahul Kumar Rai <learn.rahul.rai@gmail.com> wrote:

> From: Rahul Kumar Rai <learn.rahul.rai@gmail.com>
> 
> The RTL8822CE on the ASUS TUF Gaming A15 FA506IH fails to return from
> PCIe low-power states across system suspend. The device is inaccessible
> on the way back to D0, so the MAC power-on sequence and the firmware
> handshake that follow it fail, and the driver gives up. Wi-Fi stays
> unavailable until the machine is powered off completely:
> 
>   rtw88_8822ce 0000:03:00.0: Unable to change power state from D3cold to D0, device inaccessible
>   rtw88_8822ce 0000:03:00.0: failed to poll offset=0x5 mask=0x2 value=0x0
>   rtw88_8822ce 0000:03:00.0: mac power on failed
>   rtw88_8822ce 0000:03:00.0: probe with driver rtw88_8822ce failed with error -114
> 
> Reads of the ASPM link-configuration register over DBI also time out
> around the same transitions.
> 
> This is not a one-off. It has been recurring on this machine for a long
> time. The kernel logs still on disk begin at 2026-07-20 and already
> contain six failed D-state transitions and three probe failures of this
> kind, and the problem was present well before that window.
> 
> This is the same platform ASPM inter-operability problem already handled
> for other machines through rtw_pci_quirks[], including the closely
> related ASUS TUF Gaming A15 FA506II. The FA506IH reports a different DMI
> board name, so that entry does not match. Disabling PCI ASPM and deep
> power save stops the failure on this model as well.
> 
>   DMI_SYS_VENDOR = ASUSTeK COMPUTER INC.
>   DMI_BOARD_NAME = FA506IH
> 
> Signed-off-by: Rahul Kumar Rai <learn.rahul.rai@gmail.com>
> Acked-by: Ping-Ke Shih <pkshih@realtek.com>

1 patch(es) applied to rtw-next branch of rtw.git, thanks.

c5a8c4936dc5 wifi: rtw88: disable ASPM and deep PS on ASUS TUF Gaming A15 FA506IH

---
https://github.com/pkshih/rtw.git
RE: [PATCH] wifi: rtw88: disable ASPM and deep PS on ASUS TUF Gaming A15 FA506IH
Posted by Ping-Ke Shih 1 month ago
Rahul Kumar Rai via B4 Relay <devnull+learn.rahul.rai.gmail.com@kernel.org> wrote:
> From: Rahul Kumar Rai <learn.rahul.rai@gmail.com>
> 
> The RTL8822CE on the ASUS TUF Gaming A15 FA506IH fails to return from
> PCIe low-power states across system suspend. The device is inaccessible
> on the way back to D0, so the MAC power-on sequence and the firmware
> handshake that follow it fail, and the driver gives up. Wi-Fi stays
> unavailable until the machine is powered off completely:
> 
>   rtw88_8822ce 0000:03:00.0: Unable to change power state from D3cold to D0, device inaccessible
>   rtw88_8822ce 0000:03:00.0: failed to poll offset=0x5 mask=0x2 value=0x0
>   rtw88_8822ce 0000:03:00.0: mac power on failed
>   rtw88_8822ce 0000:03:00.0: probe with driver rtw88_8822ce failed with error -114
> 
> Reads of the ASPM link-configuration register over DBI also time out
> around the same transitions.
> 
> This is not a one-off. It has been recurring on this machine for a long
> time. The kernel logs still on disk begin at 2026-07-20 and already
> contain six failed D-state transitions and three probe failures of this
> kind, and the problem was present well before that window.
> 
> This is the same platform ASPM inter-operability problem already handled
> for other machines through rtw_pci_quirks[], including the closely
> related ASUS TUF Gaming A15 FA506II. The FA506IH reports a different DMI
> board name, so that entry does not match. Disabling PCI ASPM and deep
> power save stops the failure on this model as well.
> 
>   DMI_SYS_VENDOR = ASUSTeK COMPUTER INC.
>   DMI_BOARD_NAME = FA506IH
> 
> Signed-off-by: Rahul Kumar Rai <learn.rahul.rai@gmail.com>

Acked-by: Ping-Ke Shih <pkshih@realtek.com>