lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 135/244] usb: dwc2: Fix host mode hibernation exit with remote wakeup flow.
    Date
    From: Artur Petrosyan <Arthur.Petrosyan@synopsys.com>

    [ Upstream commit c2db8d7b9568b10e014af83b3c15e39929e3579e ]

    Added setting "port_connect_status_change" flag to "1" in order
    to re-enumerate, because after exit from hibernation port
    connection status is not detected.

    Fixes: c5c403dc4336 ("usb: dwc2: Add host/device hibernation functions")
    Acked-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
    Signed-off-by: Artur Petrosyan <Arthur.Petrosyan@synopsys.com>
    Link: https://lore.kernel.org/r/20210416124707.5EEC2A005D@mailhost.synopsys.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/usb/dwc2/hcd.c | 10 +++++++++-
    1 file changed, 9 insertions(+), 1 deletion(-)

    diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
    index 258056c82206..f29fbadb0548 100644
    --- a/drivers/usb/dwc2/hcd.c
    +++ b/drivers/usb/dwc2/hcd.c
    @@ -5580,7 +5580,15 @@ int dwc2_host_exit_hibernation(struct dwc2_hsotg *hsotg, int rem_wakeup,
    return ret;
    }

    - dwc2_hcd_rem_wakeup(hsotg);
    + if (rem_wakeup) {
    + dwc2_hcd_rem_wakeup(hsotg);
    + /*
    + * Change "port_connect_status_change" flag to re-enumerate,
    + * because after exit from hibernation port connection status
    + * is not detected.
    + */
    + hsotg->flags.b.port_connect_status_change = 1;
    + }

    hsotg->hibernated = 0;
    hsotg->bus_suspended = 0;
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-05-12 17:31    [W:6.322 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site