[PATCH 4/4] thunderbolt: prevent pcie tunnel activation/teardown warnings
mika.westerberg at linux.intel.com
mika.westerberg at linux.intel.com
Tue Nov 3 04:48:42 PST 2026
Hi,
On Tue, Nov 03, 2026 at 08:33:51AM +0000, Chunfeng Yun (云春峰) wrote:
> On Fri, 2026-10-30 at 09:56 +0100, Mika Westerberg wrote:
> > On Fri, Oct 30, 2026 at 04:25:39PM +0800, Chunfeng Yun wrote:
> > > When usb4 enter sleep mode, echo 1 to authorized of sysfile,
> > > will wakeup usb4 driver, but fail to create pcie tunnel, cause
> > > the warning due to a race condition between switch disconnect
> >
> > It's router
> will modify it.
>
> >
> > > during resume and user authorization
> [ 278.831186] usb4_hi NVDA8100:00: 0:1: is unplugged (state: 7),
> retrying...
> [ 278.943031] usb4_hi NVDA8100:00: 0:1: failed to reach state
> TB_PORT_UP. Ignoring port...
> [ 278.951125] usb4_hi NVDA8100:00: 0:1: lost during suspend,
> disconnecting
> [ 278.957819] usb4_hi NVDA8100:00: 0:4 <-> 1:16 (USB3): deactivating
> [ 278.964794] usb4_hi NVDA8100:00: deactivating USB3 Down path from
> 0:4 to 1:16
> [ 278.972737] usb4_hi NVDA8100:00: deactivating USB3 Up path from 1:16
> to 0:4
> [ 278.980504] usb4_hi NVDA8100:00: 0: TMU: mode change off -> bi-
> directional, HiFi requested
> [ 278.991265] usb4_hi NVDA8100:00: 0: TMU: mode set to: bi-
> directional, HiFi
> [ 278.999511] usb4_hi NVDA8100:00: 0:1: total credits changed 66 -> 66
> [ 279.006408] usb4_hi NVDA8100:00: 1: link width set to symmetric,
> dual lanes
> [ 279.013763] usb4_hi NVDA8100:00: 0:7 <-> 1:9 (PCI): activating
> [ 279.019587] usb4_hi NVDA8100:00: activating PCIe Down path from 0:7
> to 1:9
> [ 279.026468] usb4_hi NVDA8100:00: 1:1: Writing hop 1
> [ 279.031335] usb4_hi NVDA8100:00: 1:1: In HopID: 8 => Out port: 9
> Out HopID: 8
> [ 279.038546] usb4_hi NVDA8100:00: 1:1: Weight: 1 Priority: 3
> Credits: 32 Drop: 0 PM: 0
> [ 279.046536] usb4_hi NVDA8100:00: 1:1: Counter enabled: 0 Counter
> index: 2047
> [ 279.053834] usb4_hi NVDA8100:00: 1:1: Flow Control (In/Eg): 1/0
> Shared Buffer (In/Eg): 0/0
> [ 279.062259] usb4_hi NVDA8100:00: 1:1: Unknown1: 0x0 Unknown2: 0x0
> Unknown3: 0x0
> [ 279.069730] ------------[ cut here ]------------
> [ 279.074335] usb4_hi NVDA8100:00: PCIe Down path activation failed
> [ 279.080426] WARNING: CPU: 5 PID: 2433 at
> drivers/thunderbolt/path.c:587 tb_path_activate+0x1a4/0x5b0
> ...
> [ 279.220285] Call trace:
> [ 279.222722] tb_path_activate+0x1a4/0x5b0 (P)
> [ 279.227068] tb_tunnel_activate+0x140/0x498
> [ 279.231241] tb_tunnel_pci+0x180/0x490
> [ 279.234980] tb_domain_approve_switch+0x74/0xb0
> [ 279.239500] authorized_store+0x214/0x270
> [ 279.243498] dev_attr_store+0x20/0x70
> ...
> [ 279.288888] ---[ end trace 0000000000000000 ]---
> [ 279.293497] usb4_hi NVDA8100:00: 0:7 <-> 1:9 (PCI): activation
> failed
>
>
> root cause:
>
> The warning were caused by a race condition between switch disconnect
> during resume and user authorization:
>
> 1. While the system was in runtime suspend, userspace executed:
>
> echo 1 > /sys/bus/thunderbolt/devices/0-1/authorized
> 2. Writing to this sysfs attribute woke up the USB4 controller
> (nhi_runtime_resume).
> 3. During resume, the downstream port 0:1 failed to complete link
> training within the timeout and was declared lost:
Okay we get the warning but the bigger problem here is that why the link
does not come up anymore? Unless you unplugged the router as well.
More information about the linux-arm-kernel
mailing list