Re: [PATCH] usb: core: Fix USB 3.0 devices lost in NOTATTACHED state after a hub port reset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 26 May 2015, Robert Schlabbach wrote:

> Fix USB 3.0 devices lost in NOTATTACHED state after a hub port reset.
> 
> Dissolve the function hub_port_finish_reset() completely and divide the
> actions to be taken into those which need to be done after each reset
> attempt and those which need to be done after the full procedure is
> complete, and place them in the appropriate places in hub_port_reset().
> Also, remove an unneeded forward declaration of hub_port_reset().
> 
> Verbose Problem Description:
> 
> USB 3.0 devices may be "lost for good" during a hub port reset.
> This makes Linux unable to boot from USB 3.0 devices in certain
> constellations of host controllers and devices, because the USB device is
> lost during initialization, preventing the rootfs from being mounted.
> 
> The underlying problem is that in the affected constellations, during the
> processing inside hub_port_reset(), the hub link state goes from 0 to
> SS.inactive after the initial reset, and back to 0 again only after the
> following "warm" reset.
> 
> However, hub_port_finish_reset() is called after each reset attempt and
> sets the state the connected USB device based on the "preliminary" status
> of the hot reset to USB_STATE_NOTATTACHED due to SS.inactive, yet when
> the following warm reset is complete and hub_port_finish_reset() is
> called again, its call to set the device to USB_STATE_DEFAULT is blocked
> by usb_set_device_state() which does not allow taking USB devices out of
> USB_STATE_NOTATTACHED state.
> 
> Thanks to Alan Stern for guiding me to the proper solution and how to
> submit it.
> 
> Link: http://lkml.kernel.org/r/trinity-25981484-72a9-4d46-bf17-9c1cf9301a31-1432073240136%20()%203capp-gmx-bs27
> Signed-off-by: Robert Schlabbach <robert_s@xxxxxxx>

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux