On Thu, Aug 25, 2011 at 05:03:28PM +0800, Andiry Xu wrote: > On Thu, 2011-08-25 at 16:30 +0800, jerome huang wrote: > > Hi, > > > > I have a USB3 hard drive dock(Asmedia chip inside), > > it works fine by hotplug. > > > > But it can not be detected by coldplug (reboot with this device connected). > > The port status in dmesg during reboot are: > > [ 442.534809] xhci_hcd 0000:04:00.0: get port status, actual port 0 > > status = 0x2a0 > > [ 442.534819] xhci_hcd 0000:04:00.0: get port status, actual port 1 > > status = 0x2a0 > > [ 442.534903] hub 3-0:1.0: state 7 ports 2 chg 0000 evt 0000 > > [ 442.550736] xhci_hcd 0000:04:00.0: get port status, actual port 0 > > status = 0x340 > > [ 442.550747] xhci_hcd 0000:04:00.0: get port status, actual port 1 > > status = 0x2a0 > > [ 442.550823] hub 4-0:1.0: state 7 ports 2 chg 0000 evt 0000 > > > > It seems that the port which device connected is 0x340, > > but no "CCS(Current Connect Status)" bit. > > > > do you think this device is buggy? > > > > Btw, this device works fine under windows7 under same circumstance. > > > > Please apply the patch I just sent (refine warm reset logic) and then > apply the patch attached to see if it helps. > > Thanks, > Andiry > > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c > index 7ef9013..c6cb253 100644 > --- a/drivers/usb/core/hub.c > +++ b/drivers/usb/core/hub.c > @@ -3564,8 +3564,10 @@ static void hub_events(void) > * SS.Inactive state. > */ > if (hub_is_superspeed(hub->hdev) && > + ((portstatus & USB_PORT_STAT_LINK_STATE) > + == USB_SS_PORT_LS_SS_INACTIVE || > (portstatus & USB_PORT_STAT_LINK_STATE) > - == USB_SS_PORT_LS_SS_INACTIVE) { > + == USB_SS_PORT_LS_COMP_MOD)) { Why in the world would the device go into compliance mode? Also note that the xHCI hub driver doesn't actually set USB_SS_PORT_LS_COMP_MOD in xhci-hub.c, so you'll need to fix that too. Sarah -- 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