On Wednesday, 9 May 2007 10:59, Thomas Gleixner wrote: > On Wed, 2007-05-09 at 01:31 -0700, Andrew Morton wrote: > > > I suspect I just tested the wrong thing yesterday. Let me recheck just > > > these patches against 2.6.21. > > > > yup, same hang with just these three: > > > > origin > > clocksource-fix-resume-logic > > clockevents-fix-resume-logic-updated-version > > I have no idea, how this affects acpi_evaluate_object()
I think the problem is that the ACPI code ordering here is broken in a difficult to fix way. Definitely, we shouldn't execute the _BFS method after creating the image and most probably _WAK shouldn't be executed here either. Moreover, acpi_leave_sleep_state() enables the runtime GPEs, which AFAICS is equivalent to allowing ACPI to generate SCIs. I'm not sure if this is a good idea to do such a thing in this particular place. Andrew, could you please apply the appended patch and see if that helps (should apply to -mm2)? Rafael --- 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 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: linux-2.6.21/kernel/power/disk.c =================================================================== --- linux-2.6.21.orig/kernel/power/disk.c +++ linux-2.6.21/kernel/power/disk.c @@ -131,7 +131,9 @@ int hibernation_snapshot(int platform_mo } enable_nonboot_cpus(); Resume_devices: - platform_finish(platform_mode); + if (!in_suspend || error) + platform_finish(platform_mode); + device_resume(); resume_console(); Finish: - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html