On Wed, 10 Dec 2008, Alan Stern wrote: > On Wed, 10 Dec 2008, Rafael J. Wysocki wrote: > > > > > Well, it looks like you forgot to actually call pci_save_power_state(). :-) > > > > > > I didn't forget it -- in my tree there is no such function! :-) > > > > That should have been pci_save_state(). [Note to self: don't send email when > > you're too tired.] > > Yes, adding pci_save_state() fixed the problem. Here is the new patch; > it seems to work. Anything else need to be changed? I spoke a little too soon. It appears that there is a small bug in pci_enable_wake(): int pci_enable_wake(struct pci_dev *dev, pci_power_t state, int enable) { int error = 0; bool pme_done = false; if (!device_may_wakeup(&dev->dev)) return -EINVAL; This is wrong; the test should be: if (enable && !device_may_wakeup(&dev->dev)) Alan Stern _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm