Re: [RFC 6/8] USB: Ignore USB 3.0 port state until reset completes.

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

 



On Wed, 21 Nov 2012, Sarah Sharp wrote:

> The port reset code bails out early if the current connect status is
> cleared (device disconnected).  If we're issuing a hot reset, it may
> also look at the link state before the reset is finished.
> 
> Section 10.14.2.6 of the USB 3.0 spec says that when a port enters the
> Error state or Resetting state, the port connection bit retains the
> value from the previous state.  Therefore we can't trust it until the
> reset finishes.  Also, the xHCI spec section 4.19.1.2.5 says software
> shall ignore the link state while the port is resetting, as it can be in
> an unknown state.

In fact this is true for USB-2 hubs as well.  The hub sends a reset 
signal by driving the bus into an SE0 state.  This overwhelms the 
"connect" signal from the device, so the port can't tell whether 
anything is connected or not.

> Fix the port reset code to ignore the port link state and current
> connect bit until the reset finishes for all USB 3.0 hubs.

We might as well ignore the current-connect and connect-change bits 
until the reset has finished for all hubs, USB-3 or not.

Alan Stern

--
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