diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2006-02-17 13:52:46 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-17 13:59:26 -0800 |
commit | 1fca251f36fac3fae7d9cf10de69c2c93f6c0000 (patch) | |
tree | 0fd4e7816dc310a48e95901ae411e5442805e224 /arch/s390 | |
parent | 6d751c43b29deb1d990fb9644c13ca941c9d1305 (diff) | |
download | linux-1fca251f36fac3fae7d9cf10de69c2c93f6c0000.tar.gz linux-1fca251f36fac3fae7d9cf10de69c2c93f6c0000.tar.bz2 linux-1fca251f36fac3fae7d9cf10de69c2c93f6c0000.zip |
[PATCH] s390: fix preempt_count of idle thread with cpu hotplug
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>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kernel/process.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 008c74526fd3..da6fbae8df91 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c @@ -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(); |