USB: Turn on auto-suspend for USB 3.0 hubs.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Sat, 7 Jan 2012 00:27:25 +0000 (16:27 -0800)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Tue, 14 Feb 2012 20:12:28 +0000 (12:12 -0800)
Now that USB 3.0 hub remote wakeup on port status changes is enabled,
and USB 3.0 device remote wakeup is handled in the USB core properly,
let's turn on auto-suspend for all USB 3.0 hubs.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
drivers/usb/core/hub.c

index 994aa8853bac4cb120a709cda59aaff110868344..d4f062472796d8c2a6b07c023077060b29605518 100644 (file)
@@ -1315,14 +1315,8 @@ static int hub_probe(struct usb_interface *intf, const struct usb_device_id *id)
        desc = intf->cur_altsetting;
        hdev = interface_to_usbdev(intf);
 
-       /* Hubs have proper suspend/resume support.  USB 3.0 device suspend is
-        * different from USB 2.0/1.1 device suspend, and unfortunately we
-        * don't support it yet.  So leave autosuspend disabled for USB 3.0
-        * external hubs for now.  Enable autosuspend for USB 3.0 roothubs,
-        * since that isn't a "real" hub.
-        */
-       if (!hub_is_superspeed(hdev) || !hdev->parent)
-               usb_enable_autosuspend(hdev);
+       /* Hubs have proper suspend/resume support. */
+       usb_enable_autosuspend(hdev);
 
        if (hdev->level == MAX_TOPO_LEVEL) {
                dev_err(&intf->dev,