[PATCH v2 0/7] thunderbolt: Fix DP tunnel teardown while an async DPRX read is running

From: Sven Peter

Date: Sun Aug 23 2026 - 12:15:21 EST


Hi,

This series contains a bunch of fixes related to teardown while an async
DPRX read is running. I ran into some of these while bringing up the
Apple Silicon NHI and just haven't implemented DP tunneling support yet
such that the DPRX capabilities read can never complete and will always
time out.

None of it is specific to that hardware though so I figured it
makes sense to already send them out.

Best,

Sven

---
Changes in v2:
- Make the DP tunnel activation callback mandatory. The DPRX
caps are now always read inside dprx_work which now also happens to
discovered tunnels when they are activated again after hibernation
restore.
- Mark discovered tunnels as active
- Add a cleanup commit to drop the callback data that's always the same now
- Tear down DP tunnels that are inactive in tb_stop instead of
exposing tb_tunnel_cancel_dprx.
- Use "router" instead of "switch" in the subject
- Added comments how these issues can be reproduced
- Link to v1: https://patch.msgid.link/20260817-b4-tbt-fixes-v1-0-eded2461f5fc@xxxxxxxxxx

To: Andreas Noever <andreas.noever@xxxxxxxxx>
To: Mika Westerberg <westeri@xxxxxxxxxx>
To: Yehezkel Bernat <YehezkelShB@xxxxxxxxx>
Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Cc: Konrad Dybcio <konradybcio@xxxxxxxxxx>
Cc: asahi@xxxxxxxxxxxxxxx
Cc: linux-usb@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx

---
Sven Peter (7):
thunderbolt: Hold a router reference for each path hop
thunderbolt: Make the DP tunnel activation callback mandatory
thunderbolt: Fix domain reference leak when DPRX read is canceled
thunderbolt: Don't access a DP tunnel after its DPRX read was canceled
thunderbolt: Mark discovered tunnels as active
thunderbolt: Tear down inactive DP tunnels when the domain is stopped
thunderbolt: Drop the DP tunnel activation callback data

drivers/thunderbolt/path.c | 21 +++++++++++++
drivers/thunderbolt/tb.c | 34 ++++++++++++++-------
drivers/thunderbolt/test.c | 49 ++++++++++++++++++++++-------
drivers/thunderbolt/tunnel.c | 73 ++++++++++++++++++++++++++------------------
drivers/thunderbolt/tunnel.h | 12 +++-----
5 files changed, 131 insertions(+), 58 deletions(-)
---
base-commit: 8d3ae59288f1e7d58d76558a6ee96d533bc5019f
change-id: 20260815-b4-tbt-fixes-a2689186016d

Best regards,
--
Sven Peter <sven@xxxxxxxxxx>