Skip to contentSkip to conversation

fix ACPI poweroff in 2.4.25-rc2

PATCH New Willy Tarreau 1 participant 1 message Feb 15, 2004 ACPI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix ACPI poweroff in 2.4.25-rc2

Hi Len,

based on your suggestions, I've read several bug reports about poweroff problems. I discovered that some people had to pass "nolapic" to make it operational. I tried the same on my VAIO and it worked. I also found that other people had to call the old acpi_suspend(ACPI_STATE_S5) code instead of the new one in acpi_power_off().

So I compared acpi_suspend() with the new code, and noticed that acpi_suspend() calls acpi_system_save_state() before doing acpi_enter_sleep_state_prep(). This function is responsible for sending PM events to all system devices, it seems. Thus, I inserted this call in acpi_poweroff() and it now works (on the VAIO at least). Does it make sense ? I have yet to test it on other systems, but if people with poweroff problems could try this patch on top of 2.4.25-rc2, it would be interesting. Perhaps it could get its way into mainline before 2.4.25 ? Please note that with this one, it's no longer necessary to use "nolapic" on the command line (for my notebook at least).

Regards,
Willy

drivers/acpi/system.c +1 -0
@@ -95,6 +95,7 @@
 {
 	if (unlikely(in_interrupt())) 
 		BUG();
+	acpi_system_save_state(ACPI_STATE_S5);
 	acpi_enter_sleep_state_prep(ACPI_STATE_S5);
 	ACPI_DISABLE_IRQS();
 	acpi_enter_sleep_state(ACPI_STATE_S5);

-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click