Răsfoiți Sursa

sh: Restore bl bit toggling in idle loop.

This fixes up some crashes with IRQs racing the need_resched() test under
QEMU.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt 15 ani în urmă
părinte
comite
3147093e1d
1 a modificat fișierele cu 2 adăugiri și 0 ștergeri
  1. 2 0
      arch/sh/kernel/idle.c

+ 2 - 0
arch/sh/kernel/idle.c

@@ -92,6 +92,7 @@ void cpu_idle(void)
 			check_pgt_cache();
 			rmb();
 
+			set_bl_bit();
 			local_irq_disable();
 			/* Don't trace irqs off for idle */
 			stop_critical_timings();
@@ -102,6 +103,7 @@ void cpu_idle(void)
 			 */
 			WARN_ON(irqs_disabled());
 			start_critical_timings();
+			clear_bl_bit();
 		}
 
 		tick_nohz_restart_sched_tick();