From: Mika Westerberg Date: Wed, 11 Mar 2020 13:00:46 +0000 (+0300) Subject: thunderbolt: Make usb4_switch_map_usb3_down() also return enabled ports X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=77cfa40fcdea9f75255a9785d345fa25e4a3ad0b;p=linux.git 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 --- diff --git a/drivers/thunderbolt/tb.c b/drivers/thunderbolt/tb.c index 2da82259e77c8..82f62a023a4b5 100644 --- a/drivers/thunderbolt/tb.c +++ b/drivers/thunderbolt/tb.c @@ -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) diff --git a/drivers/thunderbolt/usb4.c b/drivers/thunderbolt/usb4.c index 393771d50962c..375a8c4592012 100644 --- a/drivers/thunderbolt/usb4.c +++ b/drivers/thunderbolt/usb4.c @@ -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++;