From 3a9dc30c39d5efabb5050207f4ba77da3bc8e516 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 24 Apr 2024 14:54:41 -0700 Subject: 6.8-stable patches added patches: thunderbolt-reset-only-non-usb4-host-routers-in-resume.patch --- queue-6.8/series | 1 + ...eset-only-non-usb4-host-routers-in-resume.patch | 40 ++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 queue-6.8/thunderbolt-reset-only-non-usb4-host-routers-in-resume.patch diff --git a/queue-6.8/series b/queue-6.8/series index b708fd4142..a6923723d5 100644 --- a/queue-6.8/series +++ b/queue-6.8/series @@ -156,3 +156,4 @@ ksmbd-fix-slab-out-of-bounds-in-smb2_allocate_rsp_buf.patch ksmbd-validate-request-buffer-size-in-smb2_allocate_rsp_buf.patch ksmbd-clear-rename_noreplace-before-calling-vfs_rename.patch ksmbd-common-use-struct_group_attr-instead-of-struct_group-for-network_open_info.patch +thunderbolt-reset-only-non-usb4-host-routers-in-resume.patch diff --git a/queue-6.8/thunderbolt-reset-only-non-usb4-host-routers-in-resume.patch b/queue-6.8/thunderbolt-reset-only-non-usb4-host-routers-in-resume.patch new file mode 100644 index 0000000000..c06cc3e65a --- /dev/null +++ b/queue-6.8/thunderbolt-reset-only-non-usb4-host-routers-in-resume.patch @@ -0,0 +1,40 @@ +From 8cf9926c537ce8b0c7783afebe752e084765d553 Mon Sep 17 00:00:00 2001 +From: Mika Westerberg +Date: Wed, 31 Jan 2024 11:12:59 +0200 +Subject: thunderbolt: Reset only non-USB4 host routers in resume + +From: Mika Westerberg + +commit 8cf9926c537ce8b0c7783afebe752e084765d553 upstream. + +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: 59a54c5f3dbd ("thunderbolt: Reset topology created by the boot firmware") +Cc: Sanath S +Reviewed-by: Mario Limonciello +Signed-off-by: Mika Westerberg +Signed-off-by: Greg Kroah-Hartman +--- + drivers/thunderbolt/tb.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/drivers/thunderbolt/tb.c ++++ b/drivers/thunderbolt/tb.c +@@ -2763,8 +2763,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, false); + tb_free_invalid_tunnels(tb); -- cgit 1.2.3-korg