lkml.org 
[lkml]   [2022]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 106/155] thunderbolt: Check router generation before connecting xHCI
    Date
    From: Mika Westerberg <mika.westerberg@linux.intel.com>

    commit 93a3c0d4e8bfbb15145e5dd7da68a3de4b904aba upstream.

    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: 30a4eca69b76 ("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>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/thunderbolt/switch.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    --- a/drivers/thunderbolt/switch.c
    +++ b/drivers/thunderbolt/switch.c
    @@ -3781,14 +3781,18 @@ int tb_switch_pcie_l1_enable(struct tb_s
    */
    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);

    \
     
     \ /
      Last update: 2022-09-06 16:19    [W:4.513 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site