Re: Linux 2.6.13

Roland Dreier
2005-08-29T14:22:46Z

>>>>> "Nigel" == Nigel Cunningham <ncunningham@cyclades.com> writes:

Nigel> Hi. I have a couple of reports of powering off being
Nigel> broken between 2.6.13-rc7 and 2.6.13 :( (One my computer
Nigel> and one a Suspend2 user). I'll happily test patches.

Well, there aren't many differences between 2.6.13-rc7 and 2.6.13. If
I had to guess, I would bet the commit below is what broke you. I'm
including a patch that reverts it at the end of this email

BTW, I have no knowledge of this area -- I'm just basing this on pure
changelog reading. So if reverting this patch does fix your system, I
have no idea what the correct fix is.

- R.

commit 8dbddf17824861f2298de093549e6493d9844835
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Sat Aug 27 00:56:18 2005 -0600

[PATCH] acpi_shutdown: Only prepare for power off on power_off

When acpi_sleep_prepare was moved into a shutdown method we
started calling it for all shutdowns.

It appears this triggers some systems to power off on reboot.

Avoid this by only calling acpi_sleep_prepare if we are going to power
off the system.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

diff --git a/drivers/acpi/sleep/poweroff.c b/drivers/acpi/sleep/poweroff.c
--- a/drivers/acpi/sleep/poweroff.c
+++ b/drivers/acpi/sleep/poweroff.c
@@ -55,11 +55,7 @@ void acpi_power_off(void)

static int acpi_shutdown(struct sys_device *x)
{
- if (system_state == SYSTEM_POWER_OFF) {
- /* Prepare if we are going to power off the system */
- return acpi_sleep_prepare(ACPI_STATE_S5);
- }
- return 0;
+ return acpi_sleep_prepare(ACPI_STATE_S5);
}

static struct sysdev_class acpi_sysclass = {