Commit 77cfa40f authored by Mika Westerberg's avatar Mika Westerberg

thunderbolt: Make usb4_switch_map_usb3_down() also return enabled ports

We need to call this on enabled ports in order to find the mapping from
host router USB4 port to a USB 3.x downstream adapter, so make the
function return enabled ports as well.

While there fix parameter alignment in tb_find_usb3_down().
Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
parent bbcf40b3
...@@ -206,22 +206,14 @@ static struct tb_port *tb_find_unused_port(struct tb_switch *sw, ...@@ -206,22 +206,14 @@ static struct tb_port *tb_find_unused_port(struct tb_switch *sw,
} }
static struct tb_port *tb_find_usb3_down(struct tb_switch *sw, static struct tb_port *tb_find_usb3_down(struct tb_switch *sw,
const struct tb_port *port) const struct tb_port *port)
{ {
struct tb_port *down; struct tb_port *down;
down = usb4_switch_map_usb3_down(sw, port); down = usb4_switch_map_usb3_down(sw, port);
if (down) { if (down && !tb_usb3_port_is_enabled(down))
if (WARN_ON(!tb_port_is_usb3_down(down)))
goto out;
if (WARN_ON(tb_usb3_port_is_enabled(down)))
goto out;
return down; return down;
} return NULL;
out:
return tb_find_unused_port(sw, TB_TYPE_USB3_DOWN);
} }
static int tb_tunnel_usb3(struct tb *tb, struct tb_switch *sw) static int tb_tunnel_usb3(struct tb *tb, struct tb_switch *sw)
......
...@@ -759,7 +759,7 @@ struct tb_port *usb4_switch_map_usb3_down(struct tb_switch *sw, ...@@ -759,7 +759,7 @@ struct tb_port *usb4_switch_map_usb3_down(struct tb_switch *sw,
if (!tb_port_is_usb3_down(p)) if (!tb_port_is_usb3_down(p))
continue; continue;
if (usb_idx == usb4_idx && !tb_usb3_port_is_enabled(p)) if (usb_idx == usb4_idx)
return p; return p;
usb_idx++; usb_idx++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment