On Mon, Mar 12, 2012 at 17:10, Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> wrote: >> > xhci_hcd 0000:0d:00.0: Poll event ring: 4308439040 >> > xhci_hcd 0000:0d:00.0: op reg status = 0xffffffff >> > xhci_hcd 0000:0d:00.0: HW died, polling stopped. >> >> This means your host controller is dead after suspend: op reg status >> reads 0xffffffff indicates the xHC is not working at all, it's in >> a status like "plug out". > > It doesn't necessarily mean that the host got removed. When the PCI > host controller goes into D3, the registers will read as 0xffffffff. So > I suspect the host was just suspended when the polling loop ran. We > need a better way for the polling loop to know the host controller died > instead of checking the registers. Hm, looking at the xhci.c source I get the impression that while the polling loop may print an error when the suspend operation hangs on my laptop it may not be the cause, but rather a side-effect of the hang as it seems to be enabled only if XHCI_HCD_DEBUGGING is enabled. While this is true for the kernel I am currently running, the hangs already happened before I turned on any USB debugging. The root cause seems to be: pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -110 One thing that is definitely weird is that it is almost impossible to reproduce the hangs at home (I just attempted ~ 20 S3 cycles, both on AC and on battery, but everything worked smoothly), but there is a ~ 1:2 chance that my laptop will hang during suspend before leaving the commuter train in the morning. Maybe my usage profile is fundamentally different at these times or this is a coincidence, but it's still weird... Regarding the firmware version: I just updated the laptop BIOS to the current version, which, however, left the USB3 controller firmware version unchanged. Considering this is an on-board chipset, I doubt that NEC will provide direct support to end-users. On the other hand, Lenovo may be able to help, but I see no chance of getting past their call-center 1st-level support. Regards, Thilo P.S.: Just noticed that I did not provide a complete dmesg output so far: https://secure.tgbyte.de/dropbox/hiepaina-dmesg.log.bz2 -- 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