Re: [BUG] Thunderbolt runtime resume during PCIe removal causes IRQ warning and shutdown failure.
From: Mika Westerberg
Date: Tue Apr 07 2026 - 01:44:34 EST
Hi,
On Sun, Apr 05, 2026 at 10:59:20AM +0200, Lukas Wunner wrote:
> [cc += Mika, Rene, Alan; start of thread is here:
> https://lore.kernel.org/all/AM9PR10MB42316BF3E59B29E1EA3E5600B756A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
> ]
>
> On Thu, Mar 26, 2026 at 04:09:05PM +0000, Georg Klima wrote:
> > I am reporting a reproducible shutdown issue involving Thunderbolt,
> > PCIe hotplug, and runtime PM on a Lenovo ThinkPad P16.
> > System fails to power off cleanly when PCIe ASPM is enabled.
> > After the kernel prints "Power off", it emits warnings and does not
> > complete shutdown.
>
> The dmesg output shows that the problems start much earlier than
> on shutdown: The discrete "Barlow Ridge" Thunderbolt controller
> is hot-removed at the 08:44:29 timestamp in a noisy fashion:
>
> > Mar 26 08:44:28 fedora kernel: usb 3-3: reset full-speed USB device number 2 using xhci_hcd
> > Mar 26 08:44:29 fedora kernel: pcieport 0000:80:1b.4: Data Link Layer Link Active not set in 100 msec
> > Mar 26 08:44:29 fedora kernel: pcieport 0000:80:1b.4: pciehp: Slot(25): Card not present
> > Mar 26 08:44:29 fedora kernel: ------------[ cut here ]------------
> > Mar 26 08:44:29 fedora kernel: thunderbolt 0000:8a:00.0: interrupt for TX ring 0 is already enabled
> > Mar 26 08:44:29 fedora kernel: xhci_hcd 0000:b1:00.0: Controller not ready at resume -19
> > Mar 26 08:44:29 fedora kernel: xhci_hcd 0000:b1:00.0: PCI post-resume error -19!
> > Mar 26 08:44:29 fedora kernel: xhci_hcd 0000:b1:00.0: HC died; cleaning up
> > Mar 26 08:44:29 fedora kernel: WARNING: drivers/thunderbolt/nhi.c:147 at ring_interrupt_active+0x246/0x2f0 [thunderbolt], CPU#3: kworker/u96:5/1092
>
> The controller is then re-discovered after the link goes back up.
> The actual shutdown doesn't seem to start until the 08:45:26 timestamp.
>
> Going forward please use "dmesg" to collect kernel output, not journalctl,
> so that we get timestamps with usec granularity.
>
> > * Hardware: Lenovo ThinkPad P16 (21RQ003BGE)
> > * BIOS: N4FET30W (1.11) 10/03/2025
> > * Kernel: 6.19.10-200.fc43.x86_64
> > * Distribution: Fedora 43
> > * Platform: Intel (Meteor Lake)
> > * Thunderbolt controller: 0000:8a:00.0
>
> It looks like this isn't Meteor Lake but Arrow Lake-S:
>
> 0000:80:1b.4 - Arrow Lake-S (800 Series) PCH Root Port #21
> 0000:88:00.0 - Barlow Ridge Upstream Port
> 0000:89:00.0 - Barlow Ridge Downstream Port to NHI
> 0000:8a:00.0 - Barlow Ridge NHI
>
Looking at the dmesg there is hotplug enabled for the PCIe root port:
Mar 26 09:44:00 fedora kernel: pcieport 0000:80:1b.4: pciehp: Slot #25 AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+ Interlock- NoCompl+ IbPresDis- LLActRep+
For Barlow Ridge it should be disabled. Lenovo may already have a BIOS fix
please check. They have done that for other models too.