public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] incorrect state check?
@ 2003-06-24 23:06 Matthew Dobson
  0 siblings, 0 replies; only message in thread
From: Matthew Dobson @ 2003-06-24 23:06 UTC (permalink / raw)
  To: swsusp, linux-kernel; +Cc: Martin J. Bligh

[-- Attachment #1: Type: text/plain, Size: 487 bytes --]

Hi swsusp'ers...  I've been looking through some software suspend code, 
and I think there's an error in acpi_suspend.  The code is checking that 
  we're trying to move into a valid state.  The check now reads:

if (state == ACPI_STATE_S2 || state == ACPI_STATE_S3 || ACPI_STATE_S4) {
/* do stuff */
}

This check will always be true, since ACPI_STATE_S4 is defined to be 4.

The attatched patch fixes this bug by putting a 'state == ' in front of 
the 'ACPI_STATE_S4'.

Cheers!

-Matt

[-- Attachment #2: bad_swsusp_state_check.patch --]
[-- Type: text/plain, Size: 788 bytes --]

diff -Nurp --exclude-from=/home/mcd/.dontdiff linux-2.5.73-vanilla/drivers/acpi/sleep/main.c linux-2.5.73-swsusp/drivers/acpi/sleep/main.c
--- linux-2.5.73-vanilla/drivers/acpi/sleep/main.c	Sun Jun 22 11:32:30 2003
+++ linux-2.5.73-swsusp/drivers/acpi/sleep/main.c	Tue Jun 24 15:58:58 2003
@@ -238,7 +238,7 @@ acpi_suspend (
 	/* do we have a wakeup address for S2 and S3? */
 	/* Here, we support only S4BIOS, those we set the wakeup address */
 	/* S4OS is only supported for now via swsusp.. */
-	if (state == ACPI_STATE_S2 || state == ACPI_STATE_S3 || ACPI_STATE_S4) {
+	if (state == ACPI_STATE_S2 || state == ACPI_STATE_S3 || state == ACPI_STATE_S4) {
 		if (!acpi_wakeup_address)
 			return AE_ERROR;
 		acpi_set_firmware_waking_vector((acpi_physical_address) acpi_wakeup_address);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-06-24 22:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-24 23:06 [patch] incorrect state check? Matthew Dobson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox