[Bug 216728] Thunderbolt USB Controller died after resume on Intel CometLake platform

bugzilla-daemon
2026-04-24T19:47:21Z

--- Comment #48 from STRSHR (strasharo2000@yahoo.com) ---
Still reproducible on kernel 6.19.13 (Fedora 43), ThinkPad P1 Gen 3, Intel
Comet Lake-H.

Hardware: Intel JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018]
(8086:15ec, rev 06) at 0000:2c:00.0

Trigger: Hotplugging a USB-C Ethernet adapter (Realtek r8152 chipset) into a
Thunderbolt 3 port. No dock involved â a plain USB-C adapter is sufficient to
reproduce.

Sequence: The adapter enumerates fine (~37s after boot). ~52 seconds later the
runtime PM puts the xHCI controller to D3. On the next access the resume fails:

xhci_hcd 0000:2c:00.0: Controller not ready at resume -19
xhci_hcd 0000:2c:00.0: PCI post-resume error -19!
xhci_hcd 0000:2c:00.0: HC died; cleaning up
xhci_hcd 0000:2c:00.0: xHCI host controller not responding, assume dead
xhci_hcd 0000:2c:00.0: HC died; cleaning up
xhci_hcd 0000:2c:00.0: Timeout while waiting for configure endpoint command

The system continues running for several minutes with the dead controller, then
freezes hard (requires power button hold).

Workaround: Keeping the controller out of D3 prevents the crash entirely:
echo on > /sys/bus/pci/devices/0000:2c:00.0/power/control

Persisted via udev rule matching vendor/device IDs:
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x8086",
ATTR{device}=="0x15ec", ATTR{power/control}="on"