diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-12-18 14:19:27 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-12-21 11:57:29 +0900 |
commit | 3147093e1de59081e82fb1d815424c3e952caf3e (patch) | |
tree | 40f2a09247c0ec6279591f7ad35336032650c031 /arch | |
parent | 2f7bb2dfed3b15b388c88250b66f590aabc438da (diff) |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sh/kernel/idle.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/sh/kernel/idle.c b/arch/sh/kernel/idle.c index aaff0037fcd7..8e47565dcfd1 100644 --- a/arch/sh/kernel/idle.c +++ b/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(); |