[PATCH 0/1] thunderbolt: Fix blank external display after HRR on USB4 v2
From: Chia-Lin Kao (AceLan)
Date: Thu Apr 30 2026 - 03:32:12 EST
Hi,
On Dell XPS 14 (Panther Lake) with a WD22TB4 Thunderbolt dock and BenQ
PD2725U external display, the display goes permanently blank on ~50% of
boots. The only way to recover is a full reboot — re-plugging the
monitor or dock does not help.
The root cause is a race between the USB4 v2 Host Router Reset (HRR)
and the graphics driver initialization:
1. nhi_probe() performs HRR at ~t=1s, destroying BIOS-established
DP tunnels.
2. The Thunderbolt driver re-discovers the dock via hotplug at ~t=4s
and attempts to re-create the DP tunnel.
3. DPRX negotiation fails because the graphics driver (xe) is not yet
ready — the 12-second timeout expires at ~t=18s.
4. tb_dp_tunnel_active() permanently removes the DP IN adapter from
available resources on the first failure, so the display never
recovers.
The fix adds a retry mechanism: on DPRX negotiation failure, the driver
retries up to 3 times with a 5-second delay, giving the graphics driver
time to come up.
Tested with 13 boot cycles on the affected machine:
- 6 boots hit the HRR + DPRX race: all recovered via retry, display
came online after 3 retry attempts (~58s).
- 5 clean boots (no HRR): DP tunnel established immediately.
- 2 boots with HRR where DPRX succeeded on first try.
- 0 teardowns: the retry mechanism was never exhausted.
Full dmesg log - https://people.canonical.com/~acelan/bugs/dp-retry-on-hrr/
Thanks,
AceLan Kao
Chia-Lin Kao (AceLan) (1):
thunderbolt: Retry DP tunnel setup on DPRX negotiation failure
drivers/thunderbolt/tb.c | 63 +++++++++++++++++++++++++++++++++-------
1 file changed, 52 insertions(+), 11 deletions(-)
--
2.53.0