diff options
author | Gil Fine <[email protected]> | 2023-11-07 12:22:40 +0200 |
---|---|---|
committer | Mika Westerberg <[email protected]> | 2023-11-17 13:05:57 +0200 |
commit | 24d85bb3be373b5831699bddf698b392bd2b904d (patch) | |
tree | 88971c58e5d26b77b1bbad90b33f2c767f894933 | |
parent | b85ea95d086471afb4ad062012a4d73cd328fa86 (diff) |
thunderbolt: Set lane bonding bit only for downstream port
Fix the lane bonding procedure to follow the steps described in USB4
Connection Manager guide. Hence, set the lane bonding bit only for
downstream port. This is needed for certain ASMedia device, otherwise
lane bonding fails and the device disconnects.
Cc: [email protected]
Signed-off-by: Gil Fine <[email protected]>
Signed-off-by: Mika Westerberg <[email protected]>
-rw-r--r-- | drivers/thunderbolt/switch.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c index 1e15ffa79295..9e5cc285cc8d 100644 --- a/drivers/thunderbolt/switch.c +++ b/drivers/thunderbolt/switch.c @@ -1143,7 +1143,7 @@ int tb_port_lane_bonding_enable(struct tb_port *port) * Only set bonding if the link was not already bonded. This * avoids the lane adapter to re-enter bonding state. */ - if (width == TB_LINK_WIDTH_SINGLE) { + if (width == TB_LINK_WIDTH_SINGLE && !tb_is_upstream_port(port)) { ret = tb_port_set_lane_bonding(port, true); if (ret) goto err_lane1; |