lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 029/242] xhci: Give USB2 ports time to enter U3 in bus suspend
    Date
    From: Li Jun <jun.li@nxp.com>

    commit c1373f10479b624fb6dba0805d673e860f1b421d upstream.

    If a USB2 device wakeup is not enabled/supported the link state may
    still be in U0 in xhci_bus_suspend(), where it's then manually put
    to suspended U3 state.

    Just as with selective suspend the device needs time to enter U3
    suspend before continuing with further suspend operations
    (e.g. system suspend), otherwise we may enter system suspend with link
    state in U0.

    [commit message rewording -Mathias]

    Cc: <stable@vger.kernel.org>
    Signed-off-by: Li Jun <jun.li@nxp.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Link: https://lore.kernel.org/r/20201208092912.1773650-6-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/usb/host/xhci-hub.c | 4 ++++
    1 file changed, 4 insertions(+)

    --- a/drivers/usb/host/xhci-hub.c
    +++ b/drivers/usb/host/xhci-hub.c
    @@ -1590,6 +1590,10 @@ int xhci_bus_suspend(struct usb_hcd *hcd
    hcd->state = HC_STATE_SUSPENDED;
    bus_state->next_statechange = jiffies + msecs_to_jiffies(10);
    spin_unlock_irqrestore(&xhci->lock, flags);
    +
    + if (bus_state->bus_suspended)
    + usleep_range(5000, 10000);
    +
    return 0;
    }


    \
     
     \ /
      Last update: 2020-12-28 14:09    [W:4.087 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site