thunderbolt: Fix path indices used in USB3 tunnel discovery
authorMika Westerberg <mika.westerberg@linux.intel.com>
Thu, 2 Apr 2020 09:45:34 +0000 (12:45 +0300)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 22 Jun 2020 16:58:19 +0000 (19:58 +0300)
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: e6f818585713 ("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+
drivers/thunderbolt/tunnel.c

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