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-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250917083643.GG2912318@black.igk.intel.com>
Date: Wed, 17 Sep 2025 10:36:43 +0200
From: Mika Westerberg <mika.westerberg@...ux.intel.com>
To: Jiayi Li <lijiayi@...inos.cn>
Cc: westeri@...nel.org, andreas.noever@...il.com, michael.jamet@...el.com,
	YehezkelShB@...il.com, linux-usb@...r.kernel.org,
	linux-kernel@...r.kernel.org, jiayi_dec@....com
Subject: Re: [PATCH RFC] thunderbolt: Re-add DP resources on resume

Hi,

On Wed, Sep 17, 2025 at 04:24:56PM +0800, Jiayi Li wrote:
> 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

It should add the resource back when it gets hotplug event like above.

You should see hotplug happening to the DP IN adapters when the host
router comes out of sleep. Can you share the full dmesg with
thunderbolt.dyndbg=+p in the command line?

> [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