diff options
-rw-r--r-- | drivers/usb/host/ohci-at91.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c index 476b5a5baf25..f2d840370a87 100644 --- a/drivers/usb/host/ohci-at91.c +++ b/drivers/usb/host/ohci-at91.c | |||
@@ -636,8 +636,14 @@ ohci_hcd_at91_drv_suspend(struct platform_device *pdev, pm_message_t mesg) | |||
636 | { | 636 | { |
637 | struct usb_hcd *hcd = platform_get_drvdata(pdev); | 637 | struct usb_hcd *hcd = platform_get_drvdata(pdev); |
638 | struct ohci_hcd *ohci = hcd_to_ohci(hcd); | 638 | struct ohci_hcd *ohci = hcd_to_ohci(hcd); |
639 | bool do_wakeup = device_may_wakeup(&pdev->dev); | ||
640 | int ret; | ||
639 | 641 | ||
640 | if (device_may_wakeup(&pdev->dev)) | 642 | ret = ohci_suspend(hcd, do_wakeup); |
643 | if (ret) | ||
644 | return ret; | ||
645 | |||
646 | if (do_wakeup) | ||
641 | enable_irq_wake(hcd->irq); | 647 | enable_irq_wake(hcd->irq); |
642 | 648 | ||
643 | /* | 649 | /* |
@@ -658,7 +664,7 @@ ohci_hcd_at91_drv_suspend(struct platform_device *pdev, pm_message_t mesg) | |||
658 | at91_stop_clock(); | 664 | at91_stop_clock(); |
659 | } | 665 | } |
660 | 666 | ||
661 | return 0; | 667 | return ret; |
662 | } | 668 | } |
663 | 669 | ||
664 | static int ohci_hcd_at91_drv_resume(struct platform_device *pdev) | 670 | static int ohci_hcd_at91_drv_resume(struct platform_device *pdev) |