Message ID | 20231114121203.203762-1-mika.westerberg@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 24d85bb3be373b5831699bddf698b392bd2b904d |
Headers | show |
Series | [1/3] thunderbolt: Set lane bonding bit only for downstream port | expand |
On Tue, Nov 14, 2023 at 02:12:01PM +0200, Mika Westerberg wrote: > From: Gil Fine <gil.fine@linux.intel.com> > > 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: stable@vger.kernel.org > Signed-off-by: Gil Fine <gil.fine@linux.intel.com> > Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> All 3 patches applied to thunderbolt.git/fixes.
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;