Jinxed VAIO wreckage - current state of affairs

From: Thomas Gleixner
Date: Sat Jun 09 2007 - 15:54:45 EST


Andrew's jinxed VAIO breaks with the high resolution timer updates in a
very strange way. Andrew identified the following patch as the culprit:

http://www.tglx.de/projects/hrtimers/2.6.22-rc4/broken-out/clockevents-fix-resume-logic.patch

This makes no sense at all. The patch just moves the timer restart to a
different (later) place in the code and does exactly the same thing as
the current code does.

On resume the VAIO is stuck in the following place:

<Andrews debug session>

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?

<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().

</Andrews debug session>

Some data points:

This happens only, when the local apic timer is used. With PIT the
resume works fine.

I back ported the full high res stuff to 2.6.20. On 2.6.20 the VAIO
survives that patch.

Can the suspend/resume and ACPI wizards please give some hint how to
track this 100% reproducible wreckage down.

Thanks,

tglx


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/