aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-04-24 14:54:41 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-04-24 14:54:41 -0700
commit3a9dc30c39d5efabb5050207f4ba77da3bc8e516 (patch)
tree3e6aa73a4a933a9ac1b9bb6b6407f392c5641350
parent530ce09954afb16ed8bbb0f89a06809c486f181c (diff)
downloadstable-queue-3a9dc30c39d5efabb5050207f4ba77da3bc8e516.tar.gz
6.8-stable patches
added patches: thunderbolt-reset-only-non-usb4-host-routers-in-resume.patch
-rw-r--r--queue-6.8/series1
-rw-r--r--queue-6.8/thunderbolt-reset-only-non-usb4-host-routers-in-resume.patch40
2 files changed, 41 insertions, 0 deletions
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 <mika.westerberg@linux.intel.com>
+Date: Wed, 31 Jan 2024 11:12:59 +0200
+Subject: thunderbolt: Reset only non-USB4 host routers in resume
+
+From: Mika Westerberg <mika.westerberg@linux.intel.com>
+
+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 <Sanath.S@amd.com>
+Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
+Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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);