On Fri, 25 Jan 2019, Miquel Raynal wrote: > Add suspend/resume callbacks to reset the host controller properly > during S2RAM operation. > > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > --- > drivers/usb/host/ehci-orion.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c > index 3109f082949e..0dab099b5d15 100644 > --- a/drivers/usb/host/ehci-orion.c > +++ b/drivers/usb/host/ehci-orion.c > @@ -182,6 +182,23 @@ static int ehci_orion_drv_reset(struct usb_hcd *hcd) > return ret; > } > > +static int __maybe_unused ehci_orion_drv_suspend(struct device *dev) > +{ > + struct usb_hcd *hcd = dev_get_drvdata(dev); > + > + return ehci_suspend(hcd, device_may_wakeup(dev)); Okay, good. > +} > + > +static int __maybe_unused ehci_orion_drv_resume(struct device *dev) > +{ > + struct usb_hcd *hcd = dev_get_drvdata(dev); > + > + return ehci_resume(hcd, device_may_wakeup(dev)); Not so good. The second argument here is force_reset; presumably you want it always to be false. (Note that the v3 version of this patch did not call device_may_wakeup() in ehci_orion_drv_resume.) Yes, the API is not symmetrical. So sue me... Alan Stern