From: Shaohua Li I'm doing the cpu hotplug stress test and found a variable ('ready') is overflow after several hundreds rounds of cpu hotplug. Here is a fix. Signed-off-by: Shaohua Li Signed-off-by: Andrew Morton --- arch/i386/kernel/head.S | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN arch/i386/kernel/head.S~variable-overflow-after-hundreds-round-of-hotplug-cpu arch/i386/kernel/head.S --- 25/arch/i386/kernel/head.S~variable-overflow-after-hundreds-round-of-hotplug-cpu Thu Jun 2 16:27:40 2005 +++ 25-akpm/arch/i386/kernel/head.S Thu Jun 2 16:27:40 2005 @@ -299,7 +299,6 @@ is386: movl $2,%ecx # set MP movl %eax,%cr0 call check_x87 - incb ready lgdt cpu_gdt_descr lidt idt_descr ljmp $(__KERNEL_CS),$1f @@ -316,8 +315,9 @@ is386: movl $2,%ecx # set MP lldt %ax cld # gcc2 wants the direction flag cleared at all times #ifdef CONFIG_SMP - movb ready, %cl - cmpb $1,%cl + movb ready, %cl + movb $1, ready + cmpb $0,%cl je 1f # the first CPU calls start_kernel # all other CPUs call initialize_secondary call initialize_secondary _