On Wed, 20 Feb 2013, Tony Camuso wrote: > On 02/20/2013 10:15 AM, Alan Stern wrote: > > On Tue, 19 Feb 2013, Sarah Sharp wrote: > > > >> The one thing I wanted to check was my understanding of the hibernate > >> flow path. As you mentioned, I thought that xhci_suspend would be > >> called in the hibernate path, but it's not. > > > > Are you sure about that? AFAICT it should be called -- although it > > gets called during the poweroff phase of hibernation, not the freeze > > phase. > > > > core/hcd-pci.c: usb_hcd_pci_pm_ops.poweroff = hcd_pci_suspend > > core/hcd-pci.c: hcd_pci_suspend calls suspend_common > > core/hcd-pci.c: suspend_common calls hcd->driver->pci_suspend > > host/xhci-pci.c: xhci_pci_hc_driver.pci_suspend = xhci_pci_suspend > > host/xhci-pci.c: xhci_pci_suspend calls xhci_suspend > > > We instrumented the code, and when invoking pm-hibernate, we did > not flow through xhci_suspend(), where the timer is deleted. If you instrumented the code then you ought to know how the actual behavior differs from what I outlined above. Where is the difference? > > This should not be necessary. > > > > System was crashing on resume-from-hibernate. Not crashing with > the patch. You misunderstood. I didn't mean that no changes were necessary; I meant that it shouldn't be necessary to search for some obscure function that gets called on both the suspend hibernation pathways. 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