[PATCH] s390: fix preempt_count of idle thread with cpu hotplug
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 17 Feb 2006 21:52:46 +0000 (13:52 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 17 Feb 2006 21:59:26 +0000 (13:59 -0800)
Set preempt_count of idle_thread to zero before switching off cpu.  Otherwise
the preempt_count will be wrong if the cpu is switched on again since the
thread will be reused.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/s390/kernel/process.c

index 008c74526fd3344e8599e30657ad18d5e048e96b..da6fbae8df915adee6f109d07595b56656efc143 100644 (file)
@@ -128,8 +128,10 @@ void default_idle(void)
        __ctl_set_bit(8, 15);
 
 #ifdef CONFIG_HOTPLUG_CPU
-       if (cpu_is_offline(cpu))
+       if (cpu_is_offline(cpu)) {
+               preempt_enable_no_resched();
                cpu_die();
+       }
 #endif
 
        local_mcck_disable();