diff options
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/ehci-hub.c | 4 | ||||
-rw-r--r-- | drivers/usb/host/uhci-hcd.c | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index 71aeca019e88..0dcb4164dc83 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c | |||
@@ -199,6 +199,10 @@ static int ehci_bus_resume (struct usb_hcd *hcd) | |||
199 | if (time_before (jiffies, ehci->next_statechange)) | 199 | if (time_before (jiffies, ehci->next_statechange)) |
200 | msleep(5); | 200 | msleep(5); |
201 | spin_lock_irq (&ehci->lock); | 201 | spin_lock_irq (&ehci->lock); |
202 | if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) { | ||
203 | spin_unlock_irq(&ehci->lock); | ||
204 | return -ESHUTDOWN; | ||
205 | } | ||
202 | 206 | ||
203 | /* Ideally and we've got a real resume here, and no port's power | 207 | /* Ideally and we've got a real resume here, and no port's power |
204 | * was lost. (For PCI, that means Vaux was maintained.) But we | 208 | * was lost. (For PCI, that means Vaux was maintained.) But we |
diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index d22da26ff167..76c555a67dac 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c | |||
@@ -730,10 +730,9 @@ static int uhci_rh_resume(struct usb_hcd *hcd) | |||
730 | int rc = 0; | 730 | int rc = 0; |
731 | 731 | ||
732 | spin_lock_irq(&uhci->lock); | 732 | spin_lock_irq(&uhci->lock); |
733 | if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) { | 733 | if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) |
734 | dev_warn(&hcd->self.root_hub->dev, "HC isn't running!\n"); | ||
735 | rc = -ESHUTDOWN; | 734 | rc = -ESHUTDOWN; |
736 | } else if (!uhci->dead) | 735 | else if (!uhci->dead) |
737 | wakeup_rh(uhci); | 736 | wakeup_rh(uhci); |
738 | spin_unlock_irq(&uhci->lock); | 737 | spin_unlock_irq(&uhci->lock); |
739 | return rc; | 738 | return rc; |