summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2025-11-11 17:52:01 +0200
committerMika Westerberg <mika.westerberg@linux.intel.com>2026-05-05 13:53:45 +0200
commit7c7345bcde6c611fa8fa13e624207c6005798aa8 (patch)
tree5fef78605cad82e5bda283b43eb1db3dfd701bde
parent7e49bb89df860bb7352974100cd5dd48752bb646 (diff)
downloadlinux-7c7345bcde6c611fa8fa13e624207c6005798aa8.tar.gz
linux-7c7345bcde6c611fa8fa13e624207c6005798aa8.zip
thunderbolt: Don't disable lane adapter if XDomain lane bonding isn't possible
This happens when firmware connection manager is being used. It will deal with disabling the lane 1 adapter after the tunnel has been established and re-enabling it afterwards. For this reason only do this when we know that lane bonding is possible (e.g running software connection manager). Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
-rw-r--r--drivers/thunderbolt/xdomain.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/thunderbolt/xdomain.c b/drivers/thunderbolt/xdomain.c
index 754808c43f00..57367e18733a 100644
--- a/drivers/thunderbolt/xdomain.c
+++ b/drivers/thunderbolt/xdomain.c
@@ -1931,7 +1931,13 @@ static void tb_xdomain_link_exit(struct tb_xdomain *xd)
if (tb_port_get_link_generation(down) >= 4) {
down->bonded = false;
down->dual_link_port->bonded = false;
- } else if (xd->link_width > TB_LINK_WIDTH_SINGLE) {
+ return;
+ }
+
+ if (!xd->bonding_possible)
+ return;
+
+ if (xd->link_width > TB_LINK_WIDTH_SINGLE) {
/*
* Just return port structures back to way they were and
* update credits. No need to update userspace because