Re: [PATCH RESEND] fix WARNING: at kernel/cpu/idle.c:96

From: David Daney
Date: Fri Jun 14 2013 - 15:11:41 EST


On 06/14/2013 11:55 AM, James Bottomley wrote:
From 48bbf44a96676ce6f520a408378730c976e9a11e Mon Sep 17 00:00:00 2001
From: James Bottomley <JBottomley@xxxxxxxxxxxxx>
Date: Wed, 8 May 2013 14:05:34 -0700
Subject: [PATCH] [PARISC] fix WARNING: at kernel/cpu/idle.c:96

On PA-RISC (and presumably any other arch that doesn't implement its own
arch_cpu_idle), we get this spurious boot warning. The problem is that the
way the idle task is selected initially using the weak arch_cpu_idle() in
idle.c causes us to enter this place once with interrupts enabled. Fix this
by disabling interrupts in the weak arch_cpu_idle() code.

Is this changelog correct? It looks to me like you are enabling interrupts down there.

David Daney



Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx>

---

Thomas, I'm getting a bit impatient: this is a clear bug in the cpu idle
code and we keep getting reports of this as a boot crash on parisc. If
you don't push it through your tree, I'll take it through the parisc
one.


diff --git a/kernel/cpu/idle.c b/kernel/cpu/idle.c
index d5585f5..0a4d11e 100644
--- a/kernel/cpu/idle.c
+++ b/kernel/cpu/idle.c
@@ -58,6 +58,7 @@ void __weak arch_cpu_idle_dead(void) { }
void __weak arch_cpu_idle(void)
{
cpu_idle_force_poll = 1;
+ local_irq_enable();

Here ^^^^^^^^^^^^^^^^


}

/*


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/