Skip to content

Commit d964471

Browse files
committed
Merge tag 'pci-v5.8-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI fix from Bjorn Helgaas: "Disable ASPM on ASM1083/1085 PCIe-to-PCI bridge (Robert Hancock)" * tag 'pci-v5.8-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: PCI/ASPM: Disable ASPM on ASMedia ASM1083/1085 PCIe-to-PCI bridge
2 parents e2c46b5 + b361663 commit d964471

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

drivers/pci/quirks.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2330,6 +2330,19 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f1, quirk_disable_aspm_l0s);
23302330
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f4, quirk_disable_aspm_l0s);
23312331
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1508, quirk_disable_aspm_l0s);
23322332

2333+
static void quirk_disable_aspm_l0s_l1(struct pci_dev *dev)
2334+
{
2335+
pci_info(dev, "Disabling ASPM L0s/L1\n");
2336+
pci_disable_link_state(dev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1);
2337+
}
2338+
2339+
/*
2340+
* ASM1083/1085 PCIe-PCI bridge devices cause AER timeout errors on the
2341+
* upstream PCIe root port when ASPM is enabled. At least L0s mode is affected;
2342+
* disable both L0s and L1 for now to be safe.
2343+
*/
2344+
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x1080, quirk_disable_aspm_l0s_l1);
2345+
23332346
/*
23342347
* Some Pericom PCIe-to-PCI bridges in reverse mode need the PCIe Retrain
23352348
* Link bit cleared after starting the link retrain process to allow this

0 commit comments

Comments
 (0)