|
@@ -2681,17 +2681,13 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1,
|
|
|
|
|
|
mutex_lock(&usb_address0_mutex);
|
|
|
|
|
|
- if (!udev->config && oldspeed == USB_SPEED_SUPER) {
|
|
|
- /* Don't reset USB 3.0 devices during an initial setup */
|
|
|
- usb_set_device_state(udev, USB_STATE_DEFAULT);
|
|
|
- } else {
|
|
|
- /* Reset the device; full speed may morph to high speed */
|
|
|
- /* FIXME a USB 2.0 device may morph into SuperSpeed on reset. */
|
|
|
- retval = hub_port_reset(hub, port1, udev, delay);
|
|
|
- if (retval < 0) /* error or disconnect */
|
|
|
- goto fail;
|
|
|
- /* success, speed is known */
|
|
|
- }
|
|
|
+ /* Reset the device; full speed may morph to high speed */
|
|
|
+ /* FIXME a USB 2.0 device may morph into SuperSpeed on reset. */
|
|
|
+ retval = hub_port_reset(hub, port1, udev, delay);
|
|
|
+ if (retval < 0) /* error or disconnect */
|
|
|
+ goto fail;
|
|
|
+ /* success, speed is known */
|
|
|
+
|
|
|
retval = -ENODEV;
|
|
|
|
|
|
if (oldspeed != USB_SPEED_UNKNOWN && oldspeed != udev->speed) {
|