Re: [Bug 216863] ThinkPad X1 Extreme Gen 5: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID) after resuming from sleep

From: Paul Menzel
Date: Tue Jan 10 2023 - 02:13:40 EST


[Cc: +Mark]

Am 10.01.23 um 02:26 schrieb Bjorn Helgaas:
https://bugzilla.kernel.org/show_bug.cgi?id=216863

Frederick reports:

I recently purchased a Thunderbolt 4 dock (CalDigit TS4) and started
having millions of these warnings in my logs after resuming from sleep.
I previously didn't have any Thunderbolt peripherals. The device is a
ThinkPad X1 Extreme Gen 5 (BIOS 1.12 N3JET28W, EC 1.08 N3JHT21W).

Dec 29 18:51:05 FredArch systemd[1]: Starting System Suspend...
Dec 29 18:51:05 FredArch systemd-sleep[31007]: Entering sleep state 'suspend'...
Dec 29 18:51:05 FredArch kernel: PM: suspend entry (s2idle)
Dec 29 18:51:07 FredArch kernel: Filesystems sync: 1.566 seconds
Dec 29 18:52:30 FredArch kernel: Freezing user space processes ... (elapsed 0.001 seconds) done.
Dec 29 18:52:30 FredArch kernel: OOM killer disabled.
Dec 29 18:52:30 FredArch kernel: Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Dec 29 18:52:30 FredArch kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Dec 29 18:52:30 FredArch kernel: ACPI: EC: interrupt blocked
Dec 29 18:52:30 FredArch kernel: ACPI: EC: interrupt unblocked
Dec 29 18:52:30 FredArch kernel: pcieport 0000:00:1d.0: AER: Multiple Corrected error received: 0000:21:01.0
Dec 29 18:52:30 FredArch kernel: pcieport 0000:21:01.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
Dec 29 18:52:30 FredArch kernel: pcieport 0000:21:01.0: device [8086:1136] error status/mask=00001100/00002000
Dec 29 18:52:30 FredArch kernel: pcieport 0000:21:01.0: [ 8] Rollover
Dec 29 18:52:30 FredArch kernel: pcieport 0000:21:01.0: [12] Timeout
Dec 29 18:52:30 FredArch kernel: pcieport 0000:21:01.0: AER: Error of this Agent is reported first
Dec 29 18:52:30 FredArch kernel: pcieport 0000:23:00.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
Dec 29 18:52:30 FredArch kernel: pcieport 0000:23:00.0: device [8086:0b26] error status/mask=00001000/00002000
Dec 29 18:52:30 FredArch kernel: pcieport 0000:23:00.0: [12] Timeout
Dec 29 18:52:30 FredArch kernel: pcieport 0000:00:1d.0: AER: Corrected error received: 0000:21:01.0
Dec 29 18:52:30 FredArch kernel: pcieport 0000:21:01.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
Dec 29 18:52:30 FredArch kernel: pcieport 0000:21:01.0: device [8086:1136] error status/mask=00001100/00002000
Dec 29 18:52:30 FredArch kernel: pcieport 0000:21:01.0: [ 8] Rollover
Dec 29 18:52:30 FredArch kernel: pcieport 0000:21:01.0: [12] Timeout

And disabling ASPM seems to have some effect:

It happened every time after resuming from sleep. pcie_aspm=off solved
the issue for me.

But also broke other stuff:

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.