From: "Siddha, Suresh B" Current code can lead to corruption. Use cpumask_t instead of unsigned long. Signed-off-by: Suresh Siddha Signed-off-by: Andrew Morton --- 25-akpm/arch/i386/kernel/cpu/common.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN arch/i386/kernel/cpu/common.c~x86-use-cpumask_t-instead-of-unsigned-long arch/i386/kernel/cpu/common.c --- 25/arch/i386/kernel/cpu/common.c~x86-use-cpumask_t-instead-of-unsigned-long 2005-01-16 00:38:06.083904792 -0800 +++ 25-akpm/arch/i386/kernel/cpu/common.c 2005-01-16 00:38:06.086904336 -0800 @@ -504,7 +504,7 @@ void __init print_cpu_info(struct cpuinf printk("\n"); } -unsigned long cpu_initialized __initdata = 0; +cpumask_t cpu_initialized __initdata = CPU_MASK_NONE; /* This is hacky. :) * We're emulating future behavior. @@ -558,7 +558,7 @@ void __init cpu_init (void) struct tss_struct * t = &per_cpu(init_tss, cpu); struct thread_struct *thread = ¤t->thread; - if (test_and_set_bit(cpu, &cpu_initialized)) { + if (cpu_test_and_set(cpu, cpu_initialized)) { printk(KERN_WARNING "CPU#%d already initialized!\n", cpu); for (;;) local_irq_enable(); } _