Hi Sarah, Thx for reply. 1. This sounds like an issue similar to what Wang Chao is experiencing, see http://marc.info/?l=linux-usb&m=131962188623590&w=2 Yes, it's a similar to Mr. Wang's issue. 2. Do you mean that you see the issue with device fast plug/unplug under a USB 2.0 host controller as well, or just under the xHCI host controller? Are you plugging and unplugging the USB 3.0 hub, or the devices attached to the hub? I have tested again, sorry it doesn't happen on USB2.0 host controller only on xhci host, and very easy to reproduce. with or without device attached. 3. So the high speed portion of the hub has re-enumerated (although it does get a transfer error for whatever reason), but the SuperSpeed portion of the hub hasn't come back yet. Yes 4. I suspect the SuperSpeed portion of the hub isn't responding to the set address control transfer, and the xHC never completes the Set Address command. There's a FIXME note in the driver in that code: /* FIXME: From section 4.3.4: "Software shall be responsible for timing * the SetAddress() "recovery interval" required by USB and aborting the * command on a timeout. */ if (timeleft <= 0) { xhci_warn(xhci, "%s while waiting for a slot\n", timeleft == 0 ? "Timeout" : "Signal"); /* FIXME cancel the address device command */ return -ETIME; } So it's probably an xHCI driver bug. I'll get you a patch to test next week. Thanks, i will try to record some PCIe trace as well to see if there's any important info on xhci side Thanks! -- 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