Bug 216863
Summary: | ThinkPad X1 Extreme Gen 5: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID) after resuming from sleep | ||
---|---|---|---|
Product: | Drivers | Reporter: | Frederick Zhang (frederick888) |
Component: | PCI | Assignee: | drivers_pci (drivers_pci) |
Status: | NEW --- | ||
Severity: | normal | CC: | bjorn, helgaas, mpearson-lenovo, pmenzel+bugzilla.kernel.org |
Priority: | P1 | ||
Hardware: | Intel | ||
OS: | Linux | ||
Kernel Version: | 6.1.1 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
lspci -vv output without pcie_aspm=off
lspci -vv output with pcie_aspm=off |
Description
Frederick Zhang
2022-12-29 13:10:11 UTC
Created attachment 303501 [details]
lspci -vv output with pcie_aspm=off
I just realised that pcie_aspm=off broke most of my dock's functions. I still had Ethernet but wake-on-lan stopped working. The dock's Thunderbolt ports, USB Type-A/C data ports, SD card slots all stopped working too (no logs at all after plugging in things). Then I tested pcie_aspm.policy=performance. The dock started working again but the warning logs were also back. Also tried applying quirk_disable_aspm_l0s_l1 on the Thunderbolt bridges but unfortunately I still had the logs. diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 285acc4aaccc..495e976606b6 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2393,8 +2393,11 @@ static void quirk_disable_aspm_l0s_l1(struct pci_dev *dev) * disable both L0s and L1 for now to be safe. */ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x1080, quirk_disable_aspm_l0s_l1); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1136, quirk_disable_aspm_l0s_l1); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0b26, quirk_disable_aspm_l0s_l1); + /* * Some Pericom PCIe-to-PCI bridges in reverse mode need the PCIe Retrain * Link bit cleared after starting the link retrain process to allow this * process to finish. And I noticed that the warning logs stopped once I plugged something in (NVMe enclosure or SD card), and started again once I ran `udisksctl power-off`. This was without any parameters or patches. I noticed that I can disable ACPI wakeup to avoid the warning log flooding. $ lspci -t -[0000:00]-+-00.0 +-01.0-[01]--+-00.0 | \-00.1 +-04.0 +-06.0-[04]----00.0 +-08.0 +-0a.0 +-14.0 +-14.2 +-14.3 +-15.0 +-16.0 +-1c.0-[08]-- +-1c.7-[0a]----00.0 +-1d.0-[20-89]----00.0-[21-89]--+-00.0-[22]----00.0 | +-01.0-[23-55]----00.0-[24-55]--+-00.0-[25]-- | | +-01.0-[26-34]-- | | +-02.0-[35-43]-- | | +-03.0-[44-54]-- | | \-04.0-[55]----00.0 | +-02.0-[56]----00.0 | \-03.0-[57-89]-- +-1f.0 +-1f.3 +-1f.4 \-1f.5 $ cat /proc/acpi/wakeup Device S-state Status Sysfs node PEG0 S4 *enabled pci:0000:00:06.0 PEGP S4 *disabled pci:0000:04:00.0 PEG1 S4 *enabled pci:0000:00:01.0 PEGP S4 *disabled pci:0000:01:00.0 PEG2 S4 *disabled PEGP S4 *disabled XHCI S3 *enabled pci:0000:00:14.0 XDCI S4 *disabled HDAS S4 *disabled pci:0000:00:1f.3 CNVW S4 *disabled pci:0000:00:14.3 RP01 S4 *enabled pci:0000:00:1c.0 PXSX S4 *disabled RP02 S4 *disabled PXSX S4 *disabled RP03 S4 *disabled PXSX S4 *disabled RP04 S4 *disabled PXSX S4 *disabled PXSX S4 *disabled RP06 S4 *disabled PXSX S4 *disabled RP07 S4 *disabled PXSX S4 *disabled RP08 S4 *enabled pci:0000:00:1c.7 PXSX S4 *disabled pci:0000:0a:00.0 *disabled platform:rtsx_pci_sdmmc.0 RP09 S4 *enabled pci:0000:00:1d.0 PXSX S4 *enabled pci:0000:20:00.0 RP10 S4 *disabled PXSX S4 *disabled RP11 S4 *disabled PXSX S4 *disabled RP12 S4 *disabled PXSX S4 *disabled RP13 S4 *disabled PXSX S4 *disabled RP14 S4 *disabled PXSX S4 *disabled RP15 S4 *disabled PXSX S4 *disabled RP16 S4 *disabled PXSX S4 *disabled RP17 S4 *disabled PXSX S4 *disabled RP18 S4 *disabled PXSX S4 *disabled RP19 S4 *disabled PXSX S4 *disabled RP20 S4 *disabled PXSX S4 *disabled RP21 S4 *disabled PXSX S4 *disabled RP22 S4 *disabled PXSX S4 *disabled RP23 S4 *disabled PXSX S4 *disabled RP24 S4 *disabled PXSX S4 *disabled RP25 S4 *disabled PXSX S4 *disabled RP26 S4 *disabled PXSX S4 *disabled RP27 S4 *disabled PXSX S4 *disabled RP28 S4 *disabled PXSX S4 *disabled AWAC S4 *enabled platform:ACPI000E:00 SLPB S3 *enabled platform:PNP0C0E:00 LID S4 *enabled platform:PNP0C0D:00 $ echo RP09 | sudo tee /proc/acpi/wakeup RP09 $ grep RP09 /proc/acpi/wakeup RP09 S4 *disabled pci:0000:00:1d.0 Wake-on-LAN from S3 stopped working (as expected) though. Frederick, do you think it is an adapter problem? Are you able to test with a device, maybe from the IT group or a friend? |