On Wed, 20 Feb 2013, Sarah Sharp wrote: > > Of course, in your case this doesn't matter. In the memory image, the > > timer is active. Hence it is still active when the system resumes, > > even though xhci_suspend _was_ called. > > Ah, I see now. So basically any memory changes in xhci_suspend will be > wiped on resume, but any hardware state should be saved. I was initially > concerned about the large number of memory writes in xhci_suspend (e.g. > zeroing the command ring), but on resume from hibernate, xhci_resume > basically ends up wiping the entire slate and re-initializing the host. > > It would be nice if xhci_suspend was passed a boolean to indicate it was > being called as part of the hibernate process. That way we could skip a > lot of unnecessary state saving. That's a good idea. Do you want to implement it? All it requires is to add an extra argument to the hc_driver.pci_suspend method, modify the PCI-based HCDs appropriately (there aren't many), and change the suspend-related pathways in core/hcd-pci.c. 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