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

Thomas Gleixner
2007-05-09T08:15:43Z

On Wed, 2007-05-09 at 00:10 -0700, Andrew Morton wrote:
> > > find an updated patch below. It fixes the problem on Ingo's
> > > VAIO-of-fun-emulator and I got confirmation from several other affected
> > > users, that the patch series is still solving their problems.
> > >
> >
> > The machine is still hanging with this patch applied.

What did change since yesterday ?

> yup, that now survives suspend-to-disk and resume, thanks.

> > suspend-to-disk gets up to "swsusp: critical section: done (NNN pages copied)"
> >
> > No netconsole, no printk-timestamping.
> >
> > ho hum, I guess I get to debug this.
>
> It got ugly.
>
> We finish swsusp_save() and a few other functions then we go
>
> hibernate
> ->platform_finish
> ->acpi_hibernation_finish
> ->acpi_leave_sleep_state
> ->acpi_evaluate_object
>
> and there it dies, in this call:
>
> status = acpi_evaluate_object(NULL, METHOD_NAME__WAK, &arg_list, NULL);
>
> I wonder how your patch caused that?

hmm, that's more than strange

> <debugs further>
>
> OK, it gets to the last statement in acpi_evaluate_object():
>
> return_ACPI_STATUS(status);
>
> but doesn't hit the printk on return to the caller,
> acpi_leave_sleep_state().
>
> A working theory would be that something we did trashed the stack in
> acpi_evaluate_object().
>
> <switches from 8k stacks to 4k. No change>
>
> foo. I'm not sure what to do now.

Hmm. Do we enable interrupts somewhere where we should not ?
/me goes looking for such places.

tglx