usb: hub: Don't wait for connect state at resume for powered-off ports
[linux-block.git] / drivers / usb / core / hub.c
index f6ea16e9f6bb975a09e296f2493a5a687828d920..9e79bcf03cde1d88fe11a14c3b1fc88b3c679187 100644 (file)
@@ -3371,6 +3371,10 @@ static int wait_for_connected(struct usb_device *udev,
        while (delay_ms < 2000) {
                if (status || *portstatus & USB_PORT_STAT_CONNECTION)
                        break;
+               if (!port_is_power_on(hub, *portstatus)) {
+                       status = -ENODEV;
+                       break;
+               }
                msleep(20);
                delay_ms += 20;
                status = hub_port_status(hub, *port1, portstatus, portchange);