Suspend scenario in case of ohci-ep93xx glue was not
properly handled as it was not suspending generic part
of ohci controller. Calling explicitly the ohci_suspend()
routine in ohci_hcd_ep93xx_drv_suspend() will ensure proper
handling of suspend scenario.
Signed-off-by: Manjunath Goudar <
manjunath.goudar@linaro.org
<mailto:manjunath.goudar@linaro.org>>
Cc: Arnd Bergmann <arnd@arndb.de <mailto:arnd@arndb.de>>
Cc: Alan Stern <stern@rowland.harvard.edu
<mailto:stern@rowland.harvard.edu>>
Cc: Greg KH <greg@kroah.com <mailto:greg@kroah.com>>
Cc: linux-usb@vger.kernel.org <mailto:linux-usb@vger.kernel.org>
V2:
-Incase ohci_suspend() fails, return right away without
executing further.
V3:
-Aligned variable "do_wakeup" and "ret".
---
drivers/usb/host/ohci-ep93xx.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/ohci-__ep93xx.c
b/drivers/usb/host/ohci-__ep93xx.c
index 8704e9f..f5f11d1 100644
--- a/drivers/usb/host/ohci-__ep93xx.c
+++ b/drivers/usb/host/ohci-__ep93xx.c
@@ -174,13 +174,21 @@ static int
ohci_hcd_ep93xx_drv_suspend(__struct platform_device *pdev,
pm_message_
{
struct usb_hcd *hcd = platform_get_drvdata(pdev);
struct ohci_hcd *ohci = hcd_to_ohci(hcd);
+ bool do_wakeup = device_may_wakeup(&pdev->dev);
+ int ret;