diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 08f0c22fa9173d49bf1dcdc706c3dfb51c997213..7946d7b6c71a03997e81667e08a9f4cb242d8d89 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -1443,7 +1443,7 @@ int usb_new_device(struct usb_device *udev) if (err < 0) dev_dbg(&udev->dev, "HNP fail, %d\n", err); } - err = -ENODEV; + err = -ENOTSUPP; goto fail; } #endif @@ -2582,7 +2582,7 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, ep0_reinit(udev); release_address(udev); usb_put_dev(udev); - if (status == -ENOTCONN) + if ((status == -ENOTCONN) || (status == -ENOTSUPP)) break; }