
From: "Siddha, Suresh B" <suresh.b.siddha@intel.com>

Current code can lead to corruption.  Use cpumask_t instead of unsigned
long.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 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 = &current->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();
 	}
_
