> > Alan, does this look ok for you? > > There are a few things I don't like about it: > > In usb_hcd_pci_suspend, the failure path for > pci_set_power_state doesn't undo all the changes > that have already been made. In fact, the easiest > way to do the rest of the recovery probably is to > call usb_hcd_pci_resume directly. > > In the !has_pci_pm path we don't call pci_set_power_state. > This means controllers with legacy power management won't > get suspended. Maybe pci_set_power_state should be > called always, and has_pci_pm be used only for > interpreting the return code and printing debug messages. > > In usb_hcd_pci_resume, the pci_wake_from_d3 call > should be moved up right next to the pci_enable_wake > call. It makes no sense for them to be separated by > pci_enable_device and pci_set_master. After all, > even if you can't re-enable the device you probably > don't want it to continue being a wakeup source. > > It's a little annoying that several debug messages > in usb_hcd_pci_resume have been removed. Can't we > display the power state upon entry, before trying to > change it? > > It stands out that the resume method contains no call > to match pci_set_power_state() in the suspend method. > There should at least be a comment about it. > > Some of these problems predate Rafael's patch. Given that it has > already helped a number of people, we might want to merge the patch > and then make additional changes to address these issues. Rafael's patch is required for upstream to resume on my T61. Tested-by: Len Brown <len.brown@xxxxxxxxx> Perhaps Greg can apply Rafael's patch now to fix upstream ASAP, while Alan prepares a 2nd patch to address his observations above? thanks, Len Brown, Intel Open Source Technology Center _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm