On Thu, 2011-08-25 at 11:49 -0700, Sarah Sharp wrote: > 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? I don't know either. > 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. > I don't get you. The PLS is passed to usbcore by xhci hub driver. Only RESUME state is not reported since it's xHCI specific. Actually, I observe some cold boot issue with USB3 devices myself. The port status does not seem right, but the same device can be found on Windows7 with cold boot, so I think it's driver related. Thanks, Andiry -- 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