[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] Fix one dead loop case in host S3
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Date 1189160303 -3600 # Node ID 2a214d4ef5b175708d01ac5ce15de7745c48b756 # Parent 8d1af6acf74090a1fafc80d02d2feab2da9b7f53 Fix one dead loop case in host S3 Wake sts is only required to be checked for S1, and implementation is free to not touch wake sts bit for S3. The latter case is observed falling into loop on checking wake sts after sleep hypercall returns. Actually we only need to check hypercall return value here, and those checks belong to Xen instead. Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx> --- drivers/acpi/hardware/hwsleep.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff -r 8d1af6acf740 -r 2a214d4ef5b1 drivers/acpi/hardware/hwsleep.c --- a/drivers/acpi/hardware/hwsleep.c Fri Sep 07 11:09:25 2007 +0100 +++ b/drivers/acpi/hardware/hwsleep.c Fri Sep 07 11:18:23 2007 +0100 @@ -338,10 +338,6 @@ acpi_status asmlinkage acpi_enter_sleep_ status = acpi_hw_register_write(ACPI_MTX_DO_NOT_LOCK, ACPI_REGISTER_PM1B_CONTROL, PM1Bcontrol); -#else - status = acpi_notify_hypervisor_state(sleep_state, - PM1Acontrol, PM1Bcontrol); -#endif if (ACPI_FAILURE(status)) { return_ACPI_STATUS(status); } @@ -383,6 +379,15 @@ acpi_status asmlinkage acpi_enter_sleep_ } while (!in_value); return_ACPI_STATUS(AE_OK); +#else + /* PV ACPI just need check hypercall return value */ + status = acpi_notify_hypervisor_state(sleep_state, + PM1Acontrol, PM1Bcontrol); + if (ACPI_FAILURE(status)) + return_ACPI_STATUS(status); + else + return_ACPI_STATUS(AE_OK); +#endif } ACPI_EXPORT_SYMBOL(acpi_enter_sleep_state) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |