Re: [RFC][PATCH 3/4] swsusp: Introduce restore platform operations

Rafael J. Wysocki
2007-05-22T20:25:28Z

On Tuesday, 22 May 2007 22:10, Alexey Starikovskiy wrote:
> Rafael J. Wysocki ?????:
> > On Tuesday, 22 May 2007 01:55, Rafael J. Wysocki wrote:
> > Moreover, I'm not quite certain in which points the GPEs should actually be
> >
> > disabled and enabled. For example, there are some testing data indicating that
> > the enabling of GPEs should be done after all of the device drivers' .resume()
> > callbacks have run.
> Opposite, ACPI devices require enabled GPEs to do their resume, so
> enabling of GPEs
> should happen at least before .resume() of ACPI devices is called.

Theoretically, that surely is correct, and which is what the patch actually
does. :-)

Still, we have users for whom hibernation was broken by moving the execution
of acpi_leave_sleep_state() before enable_nonboot_cpus(). At least on one
of these systems the hibernation can be fixed by removing the execution of
acpi_leave_sleep_state() from before enable_nonboot_cpus() and adding a
simplified version of it that only executes _WAK and enables the GPEs *after*
device_resume(). Unfortunately, I was unable to check if _WAK was necessary
for this (I hope it wasn't).

Greetings,
Rafael