Re: [patch 3/3] clockevents: Fix resume logic - updated version

Rafael J. Wysocki
2007-05-09T18:51:19Z

On Wednesday, 9 May 2007 19:14, Andrew Morton wrote:
> On Wed, 9 May 2007 14:52:07 +0200 "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
>
> > > Andrew, could you please apply the appended patch and see if that
> > > helps (should apply to -mm2)?
> >
> > Argh, sorry. This needs yet another patch (sent for review to linux-pm) to
> > be applied. The following one is against -mm2:
> >
> > ---
> > NOTE: This is not a complete solution, because it removes the enabling of GPEs
> > from the resume-during-hibernation code path entirely, which probbably is not a
> > good idea in general.
> > ---
> > kernel/power/disk.c | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > Index: linux-2.6.21-mm2/kernel/power/disk.c
> > ===================================================================
> > --- linux-2.6.21-mm2.orig/kernel/power/disk.c
> > +++ linux-2.6.21-mm2/kernel/power/disk.c
> > @@ -205,7 +205,6 @@ int hibernate(void)
> >
> > if (in_suspend) {
> > enable_nonboot_cpus();
> > - platform_finish();
> > device_resume();
> > resume_console();
> > pr_debug("PM: writing image.\n");
>
> It now hangs in a similar fashion in the device_resume() call.
>
> If I back off Thomas's clockevents-fix-resume-logic-updated-version.patch
> and include just the above patch the machine does suspend and resume
> correctly.
>
> I can delve further into the device_resume() hang if we think it would be
> useful.

Frankly, I'm not sure. On the one hand, I'd like to know wth is going on in
there, but on the other hand, I don't know if that knowledge will help us in
general.

It looks like we'll need to revamp the ACPI stuff in the hibernation/suspend
code paths anyway.

> Maybe Linus's clock-stomping tracer can help here, if I can remember how to
> use it.

It's described a bit in Documentation/power/s2ram.txt .