FYI. The retraining was added by a89c82249c37 ("PCI: Work around PCIe link training failures"). Paul, is this a regression? a89c82249c37 appeared in v6.5. I *assume* whatever is below bus 01 did actually work before v6.5, in spite of the fact that apparently PCI_EXP_LNKSTA_DLLLA was not set when we enumerated the 00:1c.0 Root Port? ----- Forwarded message from bugzilla-daemon@xxxxxxxxxx ----- https://bugzilla.kernel.org/show_bug.cgi?id=218765 Created attachment 306199 --> https://bugzilla.kernel.org/attachment.cgi?id=306199&action=edit Linux 6.9-rc5+ messages (output of `dmesg`) I noticed a one second delay with Linux 6.9-rc5+: ``` [ 0.000000] DMI: Dell Inc. XPS 13 9360/0596KF, BIOS 2.21.0 06/02/2022 […] [ 0.201109] pci 0000:00:1c.0: [8086:9d10] type 01 class 0x060400 PCIe Root Port [ 0.201109] pci 0000:00:1c.0: PCI bridge to [bus 01-39] [ 0.201109] pci 0000:00:1c.0: bridge window [mem 0xc4000000-0xda0fffff] [ 0.201109] pci 0000:00:1c.0: bridge window [mem 0xa0000000-0xc1ffffff 64bit pref] [ 0.201109] pci 0000:00:1c.0: broken device, retraining non-functional downstream link at 2.5GT/s [ 1.209109] pci 0000:00:1c.0: retraining failed [ 1.209143] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold [ 1.209677] pci 0000:00:1c.4: [8086:9d14] type 01 class 0x060400 PCIe Root Port [ 1.209700] pci 0000:00:1c.4: PCI bridge to [bus 3a] [ 1.209705] pci 0000:00:1c.4: bridge window [mem 0xdc000000-0xdc1fffff] [ 1.209771] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold […] ``` Looking through all the logs since March 2024, I only found *one* other occurrence with Linux 6.9-rc4+. ``` $ lspci -tvnn -[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [8086:5904] +-02.0 Intel Corporation HD Graphics 620 [8086:5916] +-04.0 Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [8086:1903] +-14.0 Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller [8086:9d2f] +-14.2 Intel Corporation Sunrise Point-LP Thermal subsystem [8086:9d31] +-15.0 Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 [8086:9d60] +-15.1 Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 [8086:9d61] +-16.0 Intel Corporation Sunrise Point-LP CSME HECI #1 [8086:9d3a] +-1c.0-[01-39]----00.0-[02-39]--+-00.0-[03]-- | +-01.0-[04-38]-- | \-02.0-[39]----00.0 Intel Corporation DSL6340 USB 3.1 Controller [Alpine Ridge] [8086:15b5] +-1c.4-[3a]----00.0 Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] +-1d.0-[3b]----00.0 SK hynix PC300 NVMe Solid State Drive 512GB [1c5c:1284] +-1f.0 Intel Corporation Sunrise Point-LP LPC Controller [8086:9d58] +-1f.2 Intel Corporation Sunrise Point-LP PMC [8086:9d21] +-1f.3 Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] \-1f.4 Intel Corporation Sunrise Point-LP SMBus [8086:9d23] ``` The adapter wasn’t plugged in, when Linux started. It could be related to unplugging an Dell DA300 USB Type-C adapter during system firmware (UEFI) to avoid a five second delay in Linux (ACPI). I need to test that later, but maybe you already have an idea. ----- End forwarded message -----