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-devel

[Xen-devel] [PATCH 3 of 3] fix S3 resume error

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 3 of 3] fix S3 resume error
From: Guanqun Lu <guanqun.lu@xxxxxxxxx>
Date: Mon, 23 Feb 2009 23:27:49 +0800
Delivery-date: Sun, 22 Feb 2009 23:32:00 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <patchbomb.1235402866@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Guanqun Lu <guanqun.lu@xxxxxxxxx>
# Date 1235401627 -28800
# Node ID 04e7e4e8519fbbd2ec141875d466ea8ca038d553
# Parent  0e17f070db2aa92bc74f29245cdb8528aa72bbe3
fix S3 resume error

spin_lock() usage in do_settime() in this situation is invoked
when irq is disabled, which causes check_lock() BUG_ON().
We bypass the check by using spin_debug_disable().  It's safe
since no other CPUs are online yet at this moment.

Signed-off-by: Guanqun Lu <guanqun.lu@xxxxxxxxx>

diff -r 0e17f070db2a -r 04e7e4e8519f xen/arch/x86/time.c
--- a/xen/arch/x86/time.c       Mon Feb 23 23:07:01 2009 +0800
+++ b/xen/arch/x86/time.c       Mon Feb 23 23:07:07 2009 +0800
@@ -1300,7 +1300,9 @@ int time_resume(void)
 
     init_percpu_time();
 
+    spin_debug_disable();
     do_settime(get_cmos_time() + cmos_utc_offset, 0, NOW());
+    spin_debug_enable();
 
     update_vcpu_system_time(current);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel