WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [linux-2.6.18-xen] Fix one dead loop case in host S3

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [linux-2.6.18-xen] Fix one dead loop case in host S3
From: "Xen patchbot-linux-2.6.18-xen" <patchbot-linux-2.6.18-xen@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 07 Sep 2007 09:10:40 -0700
Delivery-date: Fri, 07 Sep 2007 09:14:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [linux-2.6.18-xen] Fix one dead loop case in host S3, Xen patchbot-linux-2.6.18-xen <=