diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-10-16 17:55:59 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-10-16 17:55:59 +0900 |
commit | 9dbe00a56a60748668d2040cf4e59427060e2252 (patch) | |
tree | 9115c8b0f34ccff283b5b72f4d4a5678b0725642 /arch/sh/kernel/idle.c | |
parent | 0e6d4986e7940125a04ba8c3aa558f3b248cb9b4 (diff) | |
download | linux-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.c | 3 |
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 |