OSDN Git Service

usb: dwc2: Add exit partial power down when port reset is asserted
authorArtur Petrosyan <Arthur.Petrosyan@synopsys.com>
Thu, 8 Apr 2021 09:45:25 +0000 (13:45 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Apr 2021 13:16:38 +0000 (15:16 +0200)
Adds Partial Power Down exiting flow when set port feature
reset is received in suspended state.

Acked-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Signed-off-by: Artur Petrosyan <Arthur.Petrosyan@synopsys.com>
Link: https://lore.kernel.org/r/20210408094526.4DD7AA022E@mailhost.synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc2/hcd.c

index 720354d..7c74967 100644 (file)
@@ -3694,6 +3694,15 @@ static int dwc2_hcd_hub_control(struct dwc2_hsotg *hsotg, u16 typereq,
                        if (hsotg->params.power_down == DWC2_POWER_DOWN_PARAM_HIBERNATION &&
                            hsotg->hibernated)
                                dwc2_exit_hibernation(hsotg, 0, 1, 1);
+
+                       if (hsotg->in_ppd) {
+                               retval = dwc2_exit_partial_power_down(hsotg, 1,
+                                                                     true);
+                               if (retval)
+                                       dev_err(hsotg->dev,
+                                               "exit partial_power_down failed\n");
+                       }
+
                        hprt0 = dwc2_read_hprt0(hsotg);
                        dev_dbg(hsotg->dev,
                                "SetPortFeature - USB_PORT_FEAT_RESET\n");