lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250917082456.1790252-1-lijiayi@kylinos.cn>
Date: Wed, 17 Sep 2025 16:24:56 +0800
From: Jiayi Li <lijiayi@...inos.cn>
To: westeri@...nel.org
Cc: andreas.noever@...il.com,
	michael.jamet@...el.com,
	YehezkelShB@...il.com,
	linux-usb@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	jiayi_dec@....com,
	Jiayi Li <lijiayi@...inos.cn>
Subject: [PATCH RFC] thunderbolt: Re-add DP resources on resume

During suspend, DP resources are released through tb_disconnect_and_release_dp()
but were not being re-added during resume, preventing DP tunnels from being
re-established.

This caused DP displays connected via Thunderbolt docks (such as Targus docks)
to not display after S3 resume. The issue was visible in logs:

[246.397437] tb_cfg_ack_plug:819: thunderbolt 0000:2c:00.0: acking hot plug event on 3:10
[246.398282] tb_dp_resource_available:2019: thunderbolt 0000:2c:00.0: 3:10: DP OUT resource available
[246.398291] tb_tunnel_dp:1875: thunderbolt 0000:2c:00.0: looking for DP IN <-> DP OUT pairs:
[246.398294] tb_tunnel_dp:1899: thunderbolt 0000:2c:00.0: no suitable DP IN adapter available, not tunneling

Add call to tb_add_dp_resources() in tb_resume_noirq() to ensure DP resources
are properly re-added during resume, allowing DP tunnels to be re-established.

Signed-off-by: Jiayi Li <lijiayi@...inos.cn>
---
 drivers/thunderbolt/tb.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/thunderbolt/tb.c b/drivers/thunderbolt/tb.c
index c14ab1fbeeaf..cb652df3fc9f 100644
--- a/drivers/thunderbolt/tb.c
+++ b/drivers/thunderbolt/tb.c
@@ -3119,6 +3119,7 @@ static int tb_resume_noirq(struct tb *tb)
 		tb_switch_reset(tb->root_switch);
 
 	tb_switch_resume(tb->root_switch, false);
+	tb_add_dp_resources(tb->root_switch);
 	tb_free_invalid_tunnels(tb);
 	tb_free_unplugged_children(tb->root_switch);
 	tb_restore_children(tb->root_switch);
-- 
2.47.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ