Re: [PATCH v4] PCI: Disable ASPM L0s for Realtek RTS525A

From: Bjorn Helgaas

Date: Tue Aug 11 2026 - 05:53:24 EST


On Tue, Jul 07, 2026 at 10:15:27AM +0800, Max Lee wrote:
> The Realtek RTS525A PCIe card reader reports an AER Correctable Replay
> Timer Timeout storm when ASPM L0s is enabled on its link. On an affected
> HP ZBook Power 16 inch G11, the Root Port received tens of millions of
> AER interrupts from the RTS525A even when the rtsx_pci driver was
> blacklisted and the endpoint was not enabled by a driver.
>
> For example:
>
> pcieport 0000:00:1c.6: AER: Multiple Correctable error message received from 0000:58:00.0
> rtsx_pci 0000:58:00.0: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Transmitter ID)
> rtsx_pci 0000:58:00.0: device [10ec:525a] error status/mask=00001000/00006000
> rtsx_pci 0000:58:00.0: [12] Timeout
> pcieport 0000:00:1c.6: AER: Correctable error message received from 0000:58:00.0
>
> Testing with OS-native AER control showed that disabling only L0s on the
> RTS525A link stops new AER interrupt and counter growth while leaving L1
> enabled. Disabling L1, L1 substates, or Clock PM alone did not stop the
> storm.
>
> Prevent the broken L0s configuration by removing L0s from the RTS525A
> advertised ASPM capability. This avoids enabling the non-working ASPM
> state instead of masking the resulting AER Replay Timer Timeout reports.
>
> Reviewed-by: Lukas Wunner <lukas@xxxxxxxxx>
> Reviewed-by: Manivannan Sadhasivam <mani@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Max Lee <max.lee@xxxxxxxxxxxxx>

Applied to pci/aspm for v7.3, thanks!

> ---
> Changes in v4:
> - Add an AER log snippet to make the quirk easier to find.
> - Reword the RTS525A comment to describe this as a Replay Timer Timeout storm.
> - Add Reviewed-by tags from Lukas Wunner and Manivannan Sadhasivam.
> - Add Cc stable tag as suggested by Lukas Wunner.
>
> drivers/pci/quirks.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index caaed1a01dc0..ab94bd7f3a34 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -2520,6 +2520,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x10f1, quirk_disable_aspm_l0s);
> DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x10f4, quirk_disable_aspm_l0s);
> DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x1508, quirk_disable_aspm_l0s);
>
> +/* Realtek RTS525A generates a Replay Timer Timeout storm when L0s is enabled. */
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_REALTEK, 0x525a, quirk_disable_aspm_l0s);
> +
> static void quirk_disable_aspm_l0s_l1(struct pci_dev *dev)
> {
> pcie_aspm_remove_cap(dev,
> --
> 2.43.0
>