On 28.09.2016 22:08, Pierre de Villemereuil wrote:
Hi!
When entering "cat /sys/bus/pci/devices/0000\:00\:14.0/power/runtime_status",
I got:
- on battery: suspended
- on AC: active
Ok thanks, So current guess is that xhci-hcd driver suspend was called,
it stopped the xhci controller, and expects PCI code to put it to D3.
xhci-hcd driver assumes it will be woken up later by a PCI PME# event at
device connect, which will call the resume function for the xhci-hcd driver.
But PCI never puts the controller to D3, and lspci shows xhci controller is
not capable of generating PME# events in D0 (PME(D0 shows "-")
Capabilities: [70] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable+ DSel=0 DScale=0 PME-
So we get stuck in D0, incapable of generating PME#, with a stopped xhci
controller
waiting for PME# to wake us up.
I'll see if I can create a similar situation.
Keeping the host on should help as a temporary workaround for you:
echo on > /sys/bus/pci/devices/0000\:00\:14.0/power/control
There might be something in ACPI DSDT tables (provided by firmware) that
prevents PCI from putting xhci to D3.
-Mathias
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html