thunderbolt: Fix path indices used in USB3 tunnel discovery

The USB3 discovery used wrong indices when tunnel is discovered. It
should use TB_USB3_PATH_DOWN for path that flows downstream and
TB_USB3_PATH_UP when it flows upstream. This should not affect the
functionality but better to fix it.

Fixes: e6f8185857 ("thunderbolt: Add support for USB 3.x tunnels")
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: stable@vger.kernel.org # v5.6+
This commit is contained in:
Mika Westerberg 2020-04-02 12:45:34 +03:00
parent 53f13319d1
commit 783735f84f

View File

@ -913,22 +913,22 @@ struct tb_tunnel *tb_tunnel_discover_usb3(struct tb *tb, struct tb_port *down)
* case. * case.
*/ */
path = tb_path_discover(down, TB_USB3_HOPID, NULL, -1, path = tb_path_discover(down, TB_USB3_HOPID, NULL, -1,
&tunnel->dst_port, "USB3 Up"); &tunnel->dst_port, "USB3 Down");
if (!path) { if (!path) {
/* Just disable the downstream port */ /* Just disable the downstream port */
tb_usb3_port_enable(down, false); tb_usb3_port_enable(down, false);
goto err_free; goto err_free;
} }
tunnel->paths[TB_USB3_PATH_UP] = path;
tb_usb3_init_path(tunnel->paths[TB_USB3_PATH_UP]);
path = tb_path_discover(tunnel->dst_port, -1, down, TB_USB3_HOPID, NULL,
"USB3 Down");
if (!path)
goto err_deactivate;
tunnel->paths[TB_USB3_PATH_DOWN] = path; tunnel->paths[TB_USB3_PATH_DOWN] = path;
tb_usb3_init_path(tunnel->paths[TB_USB3_PATH_DOWN]); tb_usb3_init_path(tunnel->paths[TB_USB3_PATH_DOWN]);
path = tb_path_discover(tunnel->dst_port, -1, down, TB_USB3_HOPID, NULL,
"USB3 Up");
if (!path)
goto err_deactivate;
tunnel->paths[TB_USB3_PATH_UP] = path;
tb_usb3_init_path(tunnel->paths[TB_USB3_PATH_UP]);
/* Validate that the tunnel is complete */ /* Validate that the tunnel is complete */
if (!tb_port_is_usb3_up(tunnel->dst_port)) { if (!tb_port_is_usb3_up(tunnel->dst_port)) {
tb_port_warn(tunnel->dst_port, tb_port_warn(tunnel->dst_port,