mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
thunderbolt: Check router generation before connecting xHCI
Only Thunderbolt 3 routers need the xHCI connection flow. This also
ensures the router actually has both lane adapters (1 and 3). While
there move declaration of the boolean variables inside the block where
they are being used.
Fixes: 30a4eca69b
("thunderbolt: Add internal xHCI connect flows for Thunderbolt 3 devices")
Cc: stable@vger.kernel.org
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
parent
eb100b8fa8
commit
93a3c0d4e8
@ -3786,14 +3786,18 @@ int tb_switch_pcie_l1_enable(struct tb_switch *sw)
|
||||
*/
|
||||
int tb_switch_xhci_connect(struct tb_switch *sw)
|
||||
{
|
||||
bool usb_port1, usb_port3, xhci_port1, xhci_port3;
|
||||
struct tb_port *port1, *port3;
|
||||
int ret;
|
||||
|
||||
if (sw->generation != 3)
|
||||
return 0;
|
||||
|
||||
port1 = &sw->ports[1];
|
||||
port3 = &sw->ports[3];
|
||||
|
||||
if (tb_switch_is_alpine_ridge(sw)) {
|
||||
bool usb_port1, usb_port3, xhci_port1, xhci_port3;
|
||||
|
||||
usb_port1 = tb_lc_is_usb_plugged(port1);
|
||||
usb_port3 = tb_lc_is_usb_plugged(port3);
|
||||
xhci_port1 = tb_lc_is_xhci_connected(port1);
|
||||
|
Loading…
Reference in New Issue
Block a user