diff options
Diffstat (limited to 'drivers/usb/core/hub.c')
-rw-r--r-- | drivers/usb/core/hub.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index f6ea16e9f6bb..9e79bcf03cde 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c | |||
@@ -3371,6 +3371,10 @@ static int wait_for_connected(struct usb_device *udev, | |||
3371 | while (delay_ms < 2000) { | 3371 | while (delay_ms < 2000) { |
3372 | if (status || *portstatus & USB_PORT_STAT_CONNECTION) | 3372 | if (status || *portstatus & USB_PORT_STAT_CONNECTION) |
3373 | break; | 3373 | break; |
3374 | if (!port_is_power_on(hub, *portstatus)) { | ||
3375 | status = -ENODEV; | ||
3376 | break; | ||
3377 | } | ||
3374 | msleep(20); | 3378 | msleep(20); |
3375 | delay_ms += 20; | 3379 | delay_ms += 20; |
3376 | status = hub_port_status(hub, *port1, portstatus, portchange); | 3380 | status = hub_port_status(hub, *port1, portstatus, portchange); |