summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/dummy_hcd.c
diff options
context:
space:
mode:
authorAlan Stern2007-06-21 22:25:35 +0200
committerGreg Kroah-Hartman2007-07-13 01:34:39 +0200
commitcfa59dab27d1b282886e7772a8f9548236883892 (patch)
treeaaf71c0fb69d5133bfc71451d6541f1b49494dbb /drivers/usb/gadget/dummy_hcd.c
parentUSB: Remove usages of dev->power.power_state (diff)
downloadkernel-qcow2-linux-cfa59dab27d1b282886e7772a8f9548236883892.tar.gz
kernel-qcow2-linux-cfa59dab27d1b282886e7772a8f9548236883892.tar.xz
kernel-qcow2-linux-cfa59dab27d1b282886e7772a8f9548236883892.zip
USB: Don't resume root hub if the controller is suspended
Root hubs can't be resumed if their parent controller device is still suspended. This patch (as925) adds a check for that condition in hcd_bus_resume() and prevents it from being treated as a fatal controller failure. ehci-hcd is updated to add the corresponding test. Unnecessary debugging messages are removed from uhci-hcd and dummy-hcd. The error return code from dummy-hcd is changed to -ESHUTDOWN, the same as the others. ohci-hcd doesn't need any changes. Suspend handling in the non-PCI host drivers is somewhat hit-and-miss. This patch shouldn't have any effect on them. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget/dummy_hcd.c')
-rw-r--r--drivers/usb/gadget/dummy_hcd.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c
index fcb5526cb085..9040b50d6425 100644
--- a/drivers/usb/gadget/dummy_hcd.c
+++ b/drivers/usb/gadget/dummy_hcd.c
@@ -1784,8 +1784,7 @@ static int dummy_bus_resume (struct usb_hcd *hcd)
spin_lock_irq (&dum->lock);
if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) {
- dev_warn (&hcd->self.root_hub->dev, "HC isn't running!\n");
- rc = -ENODEV;
+ rc = -ESHUTDOWN;
} else {
dum->rh_state = DUMMY_RH_RUNNING;
set_link_state (dum);