[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.