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