mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-06 17:35:20 +02:00
thunderbolt: Send uevent after asymmetric/symmetric switch
commit5391bcfa56
upstream. We should send uevent to userspace whenever the link speed or width changes but tb_switch_asym_enable() and tb_switch_asym_disable() set the sw->link_width already so tb_switch_update_link_attributes() never noticed the change. Fix this so that we let tb_switch_update_link_attributes() update the fields accordingly. Fixes:81af2952e6
("thunderbolt: Add support for asymmetric link") Reported-by: Pengfei Xu <pengfei.xu@intel.com> Tested-by: Pengfei Xu <pengfei.xu@intel.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6b5630297e
commit
3dc5525d59
|
@ -2981,6 +2981,7 @@ static int tb_switch_lane_bonding_disable(struct tb_switch *sw)
|
||||||
return tb_port_wait_for_link_width(down, TB_LINK_WIDTH_SINGLE, 100);
|
return tb_port_wait_for_link_width(down, TB_LINK_WIDTH_SINGLE, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Note updating sw->link_width done in tb_switch_update_link_attributes() */
|
||||||
static int tb_switch_asym_enable(struct tb_switch *sw, enum tb_link_width width)
|
static int tb_switch_asym_enable(struct tb_switch *sw, enum tb_link_width width)
|
||||||
{
|
{
|
||||||
struct tb_port *up, *down, *port;
|
struct tb_port *up, *down, *port;
|
||||||
|
@ -3020,10 +3021,10 @@ static int tb_switch_asym_enable(struct tb_switch *sw, enum tb_link_width width)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
sw->link_width = width;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Note updating sw->link_width done in tb_switch_update_link_attributes() */
|
||||||
static int tb_switch_asym_disable(struct tb_switch *sw)
|
static int tb_switch_asym_disable(struct tb_switch *sw)
|
||||||
{
|
{
|
||||||
struct tb_port *up, *down;
|
struct tb_port *up, *down;
|
||||||
|
@ -3058,7 +3059,6 @@ static int tb_switch_asym_disable(struct tb_switch *sw)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
sw->link_width = TB_LINK_WIDTH_DUAL;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user