On 4/16/2021 4:48 PM, Artur Petrosyan wrote: > Adds a new flow of entering hibernation when PC is > hibernated or suspended. > > Signed-off-by: Artur Petrosyan <Arthur.Petrosyan@xxxxxxxxxxxx> Acked-by: Minas Harutyunyan <Minas.Harutyunyan@xxxxxxxxxxxx> > --- > Changes in v2: > - None > > drivers/usb/dwc2/hcd.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c > index 093b1717df01..92848629cc61 100644 > --- a/drivers/usb/dwc2/hcd.c > +++ b/drivers/usb/dwc2/hcd.c > @@ -4387,6 +4387,16 @@ static int _dwc2_hcd_suspend(struct usb_hcd *hcd) > clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); > break; > case DWC2_POWER_DOWN_PARAM_HIBERNATION: > + /* Enter hibernation */ > + spin_unlock_irqrestore(&hsotg->lock, flags); > + ret = dwc2_enter_hibernation(hsotg, 1); > + if (ret) > + dev_err(hsotg->dev, "enter hibernation failed\n"); > + spin_lock_irqsave(&hsotg->lock, flags); > + > + /* After entering suspend, hardware is not accessible */ > + clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); > + break; > case DWC2_POWER_DOWN_PARAM_NONE: > /* > * If not hibernation nor partial power down are supported, >