Skip to content

Commit

Permalink
thunderbolt: Reset only non-USB4 host routers in resume
Browse files Browse the repository at this point in the history
There is no need to reset the USB4 host routers on resume because they
are reset already and this may cause problems if the link does not come
up soon enough. For this reason limit this to happen in non-USB4 host
routers only (that's Apple systems with Intel Thunderbolt controllers).

Fixes: 59a54c5 ("thunderbolt: Reset topology created by the boot firmware")
Cc: Sanath S <[email protected]>
Reviewed-by: Mario Limonciello <[email protected]>
Signed-off-by: Mika Westerberg <[email protected]>
  • Loading branch information
westeri committed Feb 13, 2024
1 parent dec6a61 commit 8cf9926
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/thunderbolt/tb.c
Original file line number Diff line number Diff line change
Expand Up @@ -2710,8 +2710,12 @@ static int tb_resume_noirq(struct tb *tb)

tb_dbg(tb, "resuming...\n");

/* remove any pci devices the firmware might have setup */
tb_switch_reset(tb->root_switch);
/*
* For non-USB4 hosts (Apple systems) remove any PCIe devices
* the firmware might have setup.
*/
if (!tb_switch_is_usb4(tb->root_switch))
tb_switch_reset(tb->root_switch);

tb_switch_resume(tb->root_switch);
tb_free_invalid_tunnels(tb);
Expand Down

0 comments on commit 8cf9926

Please sign in to comment.