{
        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;
 }