On Wed, 6 Mar 2013, Sarah Sharp wrote: > > If xhci_suspend deletes the Compliance Mode Recovery timer then the > > timer will never fire while the controller is in D3cold. The problem > > won't arise. > > Alex, > > Can the USB 3.0 port go into the Inactive sate while the host is in > D3hot or D3cold? If so, will we see a PME that will cause the USB core > resume the host? I'm concerned that if we don't get a port status > change event when the port goes into the Inactive state, then we won't > get an interrupt if the port transitions to the Inactive state while the > host is in D3. > > If the ports can't go into the Inactive state while the host is in D3, > then I agree with Alan that it's fine to delete the timer in xhci_suspend. > > However, if the ports can to into the Inactive state and we won't get a > PME, then we have to keep the timer running while the xHCI host is > runtime suspended. In theory, if this can happen then you might not detect wakeup events while the system is asleep. Not much you can do about it, though -- saying that the hardware doesn't support remote wakeup seems like going too far. Also, you have to tell PCI/ACPI to put the controller into D3hot instead of D3cold during runtime suspend (since you can't poll the registers if the hardware is in D3cold). Alan Stern -- 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