diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2006-02-17 16:52:46 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-17 16:59:26 -0500 |
commit | 1fca251f36fac3fae7d9cf10de69c2c93f6c0000 (patch) | |
tree | 0fd4e7816dc310a48e95901ae411e5442805e224 /arch/s390/kernel/process.c | |
parent | 6d751c43b29deb1d990fb9644c13ca941c9d1305 (diff) |
[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/kernel/process.c')
-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) | |||
128 | __ctl_set_bit(8, 15); | 128 | __ctl_set_bit(8, 15); |
129 | 129 | ||
130 | #ifdef CONFIG_HOTPLUG_CPU | 130 | #ifdef CONFIG_HOTPLUG_CPU |
131 | if (cpu_is_offline(cpu)) | 131 | if (cpu_is_offline(cpu)) { |
132 | preempt_enable_no_resched(); | ||
132 | cpu_die(); | 133 | cpu_die(); |
134 | } | ||
133 | #endif | 135 | #endif |
134 | 136 | ||
135 | local_mcck_disable(); | 137 | local_mcck_disable(); |