aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ohci-s3c2410.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/ohci-s3c2410.c')
-rw-r--r--drivers/usb/host/ohci-s3c2410.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c
index be3429e08d90..b5bf9b7a54fc 100644
--- a/drivers/usb/host/ohci-s3c2410.c
+++ b/drivers/usb/host/ohci-s3c2410.c
@@ -426,28 +426,15 @@ static int ohci_hcd_s3c2410_drv_remove(struct platform_device *pdev)
426static int ohci_hcd_s3c2410_drv_suspend(struct device *dev) 426static int ohci_hcd_s3c2410_drv_suspend(struct device *dev)
427{ 427{
428 struct usb_hcd *hcd = dev_get_drvdata(dev); 428 struct usb_hcd *hcd = dev_get_drvdata(dev);
429 struct ohci_hcd *ohci = hcd_to_ohci(hcd);
430 struct platform_device *pdev = to_platform_device(dev); 429 struct platform_device *pdev = to_platform_device(dev);
431 unsigned long flags; 430 bool do_wakeup = device_may_wakeup(dev);
432 int rc = 0; 431 int rc = 0;
433 432
434 /* 433 rc = ohci_suspend(hcd, do_wakeup);
435 * Root hub was already suspended. Disable irq emission and 434 if (rc)
436 * mark HW unaccessible, bail out if RH has been resumed. Use 435 return rc;
437 * the spinlock to properly synchronize with possible pending
438 * RH suspend or resume activity.
439 */
440 spin_lock_irqsave(&ohci->lock, flags);
441 if (ohci->rh_state != OHCI_RH_SUSPENDED) {
442 rc = -EINVAL;
443 goto bail;
444 }
445
446 clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
447 436
448 s3c2410_stop_hc(pdev); 437 s3c2410_stop_hc(pdev);
449bail:
450 spin_unlock_irqrestore(&ohci->lock, flags);
451 438
452 return rc; 439 return rc;
453} 440}