diff --git a/[refs] b/[refs] index 11db232b5e47..02721e0d6503 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1c7439c61fa6516419c32a9824976334ea969d47 +refs/heads/master: 8b8132bc3d1cc3d4c0687e4d638a482fa920d98a diff --git a/trunk/drivers/usb/core/hub.c b/trunk/drivers/usb/core/hub.c index 7f8f10ec127e..3bc50fc110eb 100644 --- a/trunk/drivers/usb/core/hub.c +++ b/trunk/drivers/usb/core/hub.c @@ -2565,14 +2565,11 @@ static void hub_port_finish_reset(struct usb_hub *hub, int port1, msleep(10 + 40); update_devnum(udev, 0); hcd = bus_to_hcd(udev->bus); - if (hcd->driver->reset_device) { - *status = hcd->driver->reset_device(hcd, udev); - if (*status < 0) { - dev_err(&udev->dev, "Cannot reset " - "HCD device state\n"); - break; - } - } + /* The xHC may think the device is already reset, + * so ignore the status. + */ + if (hcd->driver->reset_device) + hcd->driver->reset_device(hcd, udev); } /* FALL THROUGH */ case -ENOTCONN: