rpms/kernel/F-7 linux-2.6-acpi-boot-regression.patch, NONE, 1.1 kernel-2.6.spec, 1.3246, 1.3247

Dave Jones (davej) fedora-extras-commits at redhat.com
Tue Jul 3 23:49:02 UTC 2007


Author: davej

Update of /cvs/pkgs/rpms/kernel/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5054

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6-acpi-boot-regression.patch 
Log Message:
* Tue Jul 03 2007 Dave Jones <davej at redhat.com>
- Fix another ACPI boot regression.


linux-2.6-acpi-boot-regression.patch:

--- NEW FILE linux-2.6-acpi-boot-regression.patch ---
commit d5a3d32a042126f65a008e0e5204ef92ad2ee55d
Author: Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>
Date:   Fri Jun 15 19:36:00 2007 -0400

    ACPI: fix 2.6.20 SMP boot regression
    
    Always disable/enable interrupts in the acpi idle routine,
    even in the error path.
    
    This is required as the 2.6.20 change in git commit d331e739f5ad2aaa9...
    "Fix interrupt race in idle callback" expects the idle handler
    to enable interrupt before returning.
    
    There was a case in acpi idle routine, in which interrupt was not being
    enabled before return, which caused the system to hang at bootup, while
    enabling C-states on an SMP system.
    
    The signature of the hang was that "processor.nocst"
    was required to enable boot.
    
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>
    Signed-off-by: Len Brown <len.brown at intel.com>

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index ee5759b..80ffc78 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -332,16 +332,18 @@ static void acpi_processor_idle(void)
 	int sleep_ticks = 0;
 	u32 t1, t2 = 0;
 
-	pr = processors[smp_processor_id()];
-	if (!pr)
-		return;
-
 	/*
 	 * Interrupts must be disabled during bus mastering calculations and
 	 * for C2/C3 transitions.
 	 */
 	local_irq_disable();
 
+	pr = processors[smp_processor_id()];
+	if (!pr) {
+		local_irq_enable();
+		return;
+	}
+
 	/*
 	 * Check whether we truly need to go idle, or should
 	 * reschedule:


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3246
retrieving revision 1.3247
diff -u -r1.3246 -r1.3247
--- kernel-2.6.spec	3 Jul 2007 16:44:59 -0000	1.3246
+++ kernel-2.6.spec	3 Jul 2007 23:48:25 -0000	1.3247
@@ -663,6 +663,7 @@
 # ACPI bits
 Patch2500: linux-2.6-acpi-unblacklist-dell-gx240.patch
 Patch2501: linux-2.6-acpi-dock-oops.patch
+Patch2502: linux-2.6-acpi-boot-regression.patch
 
 # Excessive wakeups.
 Patch2600: linux-2.6-wakeups-hdaps.patch
@@ -1473,6 +1474,8 @@
 %patch2500 -p1
 # Fix ACPI dock oops (#238054)
 %patch2501 -p1
+# Fix another ACPI boot regression.
+%patch2502 -p1
 
 # Fix excessive wakeups
 # Make hdaps timer only tick when in use.
@@ -2448,6 +2451,9 @@
 
 %changelog
 * Tue Jul 03 2007 Dave Jones <davej at redhat.com>
+- Fix another ACPI boot regression.
+
+* Tue Jul 03 2007 Dave Jones <davej at redhat.com>
 - Remove bogus XFS umount change.
 
 * Tue Jul 03 2007 Dave Jones <davej at redhat.com>




More information about the scm-commits mailing list