USB: OHCI: Properly handle ohci-at91 suspend
Suspend scenario in case of ohci-at91 glue was not properly handled as it was not suspending generic part of ohci controller. Alan Stern suggested, properly handle ohci-at91 suspend scenario. Calling explicitly the ohci_suspend() routine in ohci_hcd_at91_drv_suspend() will ensure proper handling of suspend scenario. This task is sugested by Alan Stern. Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org> Signed-off-by: Manjunath Goudar <csmanjuvijay@gmail.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
476e4bf939
commit
056ca85dab
|
@ -636,8 +636,14 @@ ohci_hcd_at91_drv_suspend(struct platform_device *pdev, pm_message_t mesg)
|
||||||
{
|
{
|
||||||
struct usb_hcd *hcd = platform_get_drvdata(pdev);
|
struct usb_hcd *hcd = platform_get_drvdata(pdev);
|
||||||
struct ohci_hcd *ohci = hcd_to_ohci(hcd);
|
struct ohci_hcd *ohci = hcd_to_ohci(hcd);
|
||||||
|
bool do_wakeup = device_may_wakeup(&pdev->dev);
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (device_may_wakeup(&pdev->dev))
|
ret = ohci_suspend(hcd, do_wakeup);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
if (do_wakeup)
|
||||||
enable_irq_wake(hcd->irq);
|
enable_irq_wake(hcd->irq);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -658,7 +664,7 @@ ohci_hcd_at91_drv_suspend(struct platform_device *pdev, pm_message_t mesg)
|
||||||
at91_stop_clock();
|
at91_stop_clock();
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ohci_hcd_at91_drv_resume(struct platform_device *pdev)
|
static int ohci_hcd_at91_drv_resume(struct platform_device *pdev)
|
||||||
|
|
Loading…
Reference in New Issue