incorrect state check?
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
@@ -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);