Преглед изворни кода

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 пре 15 година
родитељ
комит
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