summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/idle.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-10-16 17:55:59 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-10-16 17:55:59 +0900
commit9dbe00a56a60748668d2040cf4e59427060e2252 (patch)
tree9115c8b0f34ccff283b5b72f4d4a5678b0725642 /arch/sh/kernel/idle.c
parent0e6d4986e7940125a04ba8c3aa558f3b248cb9b4 (diff)
downloadlinux-9dbe00a56a60748668d2040cf4e59427060e2252.tar.gz
linux-9dbe00a56a60748668d2040cf4e59427060e2252.tar.bz2
linux-9dbe00a56a60748668d2040cf4e59427060e2252.zip
sh: Fix up IRQ re-enabling for the need_resched() case.
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>
Diffstat (limited to 'arch/sh/kernel/idle.c')
-rw-r--r--arch/sh/kernel/idle.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/sh/kernel/idle.c b/arch/sh/kernel/idle.c
index 3243eb23e842..aaff0037fcd7 100644
--- a/arch/sh/kernel/idle.c
+++ b/arch/sh/kernel/idle.c
@@ -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