From: Paul Mundt Date: Fri, 16 Oct 2009 08:55:59 +0000 (+0900) Subject: sh: Fix up IRQ re-enabling for the need_resched() case. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=9dbe00a56a60748668d2040cf4e59427060e2252;p=deliverable%2Flinux.git 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 --- 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