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>
This commit is contained in:
@@ -92,6 +92,7 @@ void cpu_idle(void)
|
|||||||
check_pgt_cache();
|
check_pgt_cache();
|
||||||
rmb();
|
rmb();
|
||||||
|
|
||||||
|
set_bl_bit();
|
||||||
local_irq_disable();
|
local_irq_disable();
|
||||||
/* Don't trace irqs off for idle */
|
/* Don't trace irqs off for idle */
|
||||||
stop_critical_timings();
|
stop_critical_timings();
|
||||||
@@ -102,6 +103,7 @@ void cpu_idle(void)
|
|||||||
*/
|
*/
|
||||||
WARN_ON(irqs_disabled());
|
WARN_ON(irqs_disabled());
|
||||||
start_critical_timings();
|
start_critical_timings();
|
||||||
|
clear_bl_bit();
|
||||||
}
|
}
|
||||||
|
|
||||||
tick_nohz_restart_sched_tick();
|
tick_nohz_restart_sched_tick();
|
||||||
|
Reference in New Issue
Block a user