public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] thunderbolt: Fix blank external display after HRR on USB4 v2
@ 2026-04-30  7:31 Chia-Lin Kao (AceLan)
  2026-04-30  7:31 ` [PATCH 1/1] thunderbolt: Retry DP tunnel setup on DPRX negotiation failure Chia-Lin Kao (AceLan)
  2026-04-30 10:03 ` [PATCH 0/1] thunderbolt: Fix blank external display after HRR on USB4 v2 Mika Westerberg
  0 siblings, 2 replies; 3+ messages in thread
From: Chia-Lin Kao (AceLan) @ 2026-04-30  7:31 UTC (permalink / raw)
  To: Mika Westerberg, Andreas Noever, Yehezkel Bernat; +Cc: linux-usb, linux-kernel

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-04-30 10:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-30  7:31 [PATCH 0/1] thunderbolt: Fix blank external display after HRR on USB4 v2 Chia-Lin Kao (AceLan)
2026-04-30  7:31 ` [PATCH 1/1] thunderbolt: Retry DP tunnel setup on DPRX negotiation failure Chia-Lin Kao (AceLan)
2026-04-30 10:03 ` [PATCH 0/1] thunderbolt: Fix blank external display after HRR on USB4 v2 Mika Westerberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox