|
@@ -1017,26 +1017,19 @@ static int __maybe_unused ohci_suspend(struct usb_hcd *hcd, bool do_wakeup)
|
|
|
{
|
|
|
struct ohci_hcd *ohci = hcd_to_ohci (hcd);
|
|
|
unsigned long flags;
|
|
|
- int rc = 0;
|
|
|
|
|
|
- /* Root hub was already suspended. Disable irq emission and
|
|
|
- * mark HW unaccessible, bail out if RH has been resumed. Use
|
|
|
+ /* Disable irq emission and mark HW unaccessible. Use
|
|
|
* the spinlock to properly synchronize with possible pending
|
|
|
* RH suspend or resume activity.
|
|
|
*/
|
|
|
spin_lock_irqsave (&ohci->lock, flags);
|
|
|
- if (ohci->rh_state != OHCI_RH_SUSPENDED) {
|
|
|
- rc = -EINVAL;
|
|
|
- goto bail;
|
|
|
- }
|
|
|
ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
|
|
|
(void)ohci_readl(ohci, &ohci->regs->intrdisable);
|
|
|
|
|
|
clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
|
|
|
- bail:
|
|
|
spin_unlock_irqrestore (&ohci->lock, flags);
|
|
|
|
|
|
- return rc;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
|