Skip to contentSkip to conversation

incorrect state check?

PATCH New Matthew Dobson 1 participant 1 message Jun 24, 2003 ACPI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 incorrect state check?

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

drivers/acpi/sleep/main.c +1 -1
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
@@ -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);