瀏覽代碼

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>
Paul Mundt 16 年之前
父節點
當前提交
9dbe00a56a
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      arch/sh/kernel/idle.c

+ 2 - 1
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