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: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
Mika Westerberg 2020-03-11 16:00:46 +03:00
parent bbcf40b392
commit 77cfa40fcd
2 changed files with 4 additions and 12 deletions

View file

@ -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,
const struct tb_port *port)
const struct tb_port *port)
{
struct tb_port *down;
down = usb4_switch_map_usb3_down(sw, port);
if (down) {
if (WARN_ON(!tb_port_is_usb3_down(down)))
goto out;
if (WARN_ON(tb_usb3_port_is_enabled(down)))
goto out;
if (down && !tb_usb3_port_is_enabled(down))
return down;
}
out:
return tb_find_unused_port(sw, TB_TYPE_USB3_DOWN);
return NULL;
}
static int tb_tunnel_usb3(struct tb *tb, struct tb_switch *sw)

View file

@ -759,7 +759,7 @@ struct tb_port *usb4_switch_map_usb3_down(struct tb_switch *sw,
if (!tb_port_is_usb3_down(p))
continue;
if (usb_idx == usb4_idx && !tb_usb3_port_is_enabled(p))
if (usb_idx == usb4_idx)
return p;
usb_idx++;