Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux...
[sfrench/cifs-2.6.git] / arch / microblaze / kernel / process.c
index 09bed44dfcd35a5f2300405f9e208982e7208798..ba7c4b16ed35e863074e737b00a8149cb3c42439 100644 (file)
@@ -76,8 +76,11 @@ __setup("hlt", hlt_setup);
 void default_idle(void)
 {
        if (likely(hlt_counter)) {
-               while (!need_resched())
-                       cpu_relax();
+               local_irq_disable();
+               stop_critical_timings();
+               cpu_relax();
+               start_critical_timings();
+               local_irq_enable();
        } else {
                clear_thread_flag(TIF_POLLING_NRFLAG);
                smp_mb__after_clear_bit();