]> err.no Git - linux-2.6/blobdiff - drivers/usb/core/hcd-pci.c
usbserial: fix inconsistent lock state
[linux-2.6] / drivers / usb / core / hcd-pci.c
index edf4300a3f7a75d748776ab3fe3d69fbf1a6f66d..5cf6d5f9acbdb749340b0f8922f5ec177afbe3f5 100644 (file)
@@ -207,7 +207,8 @@ int usb_hcd_pci_suspend (struct pci_dev *dev, pm_message_t message)
         * We must ignore the FREEZE vs SUSPEND distinction here, because
         * otherwise the swsusp will save (and restore) garbage state.
         */
-       if (hcd->self.root_hub->dev.power.power_state.event == PM_EVENT_ON)
+       if (!(hcd->state == HC_STATE_SUSPENDED ||
+                       hcd->state == HC_STATE_HALT))
                return -EBUSY;
 
        if (hcd->driver->suspend) {