sh: Fix up IRQ re-enabling for the need_resched() case.
authorPaul Mundt <lethal@linux-sh.org>
Fri, 16 Oct 2009 08:55:59 +0000 (17:55 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 16 Oct 2009 08:55:59 +0000 (17:55 +0900)
In the case where need_resched() is set in between the cpu_idle() and
pm_idle() calls we were missing an else case for just re-enabling local
IRQs and bailing out. This was noticed by the irqs_disabled() warning,
even though IRQs were being re-enabled elsewhere.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/kernel/idle.c

index 3243eb2..aaff003 100644 (file)
@@ -65,7 +65,8 @@ void default_idle(void)
                if (!need_resched()) {
                        local_irq_enable();
                        cpu_sleep();
-               }
+               } else
+                       local_irq_enable();
 
                set_thread_flag(TIF_POLLING_NRFLAG);
        } else