On Thu, 2012-04-12 at 04:09 +0600, Andrey Rahmatullin wrote: > On Wed, Apr 11, 2012 at 05:13:51PM -0400, Alan Stern wrote: > > > I replaced the hcd_pci_suspend_noirq call with retval=0 and suspend/resume > > > was successful. > > > > This indicates that your computer doesn't like to suspend while the > > EHCI controllers are in D3hot. I have no idea why not. > > > > If you want a really thorough test, try changing > > drivers/pci/pci-driver.c:pci_pm_suspend_noirq. In the "if (!pm)" > > clause, add a call to > > > > pci_prepare_to_sleep(pci_dev); > > > > just after the pci_save_state line. Then try suspending with the > > script enabled (ehci-hcd unbound from the controllers). If this fails > > then we'll know it is the source of the trouble. > Looks like it works even with this line added. > I reverted the retval change (that worked) and added this line. Put the script back and did a suspend. The suspend and resume worked without issue. Here's my change just in case I did it incorrectly: diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index 12d1e81..e026390 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c @@ -713,6 +713,7 @@ static int pci_pm_suspend_noirq(struct device *dev) if (!pm) { pci_save_state(pci_dev); + pci_prepare_to_sleep(pci_dev); return 0; } -- Steve _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/linux-pm