
From: Badari Pulavarty <pbadari@us.ibm.com>

Problem is with "c - cpu_data" arthimetic.  "c" could be "boot_cpu_data" or
"cpu_data".

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/x86_64/kernel/setup.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN arch/x86_64/kernel/setup.c~x86_64-fix-bugs-in-the-amd-k8-cmp-support-code-fix arch/x86_64/kernel/setup.c
--- 25/arch/x86_64/kernel/setup.c~x86_64-fix-bugs-in-the-amd-k8-cmp-support-code-fix	2004-12-06 17:48:55.364774648 -0800
+++ 25-akpm/arch/x86_64/kernel/setup.c	2004-12-06 17:48:55.368774040 -0800
@@ -916,7 +916,8 @@ void __init identify_cpu(struct cpuinfo_
 	mcheck_init(c);
 #endif
 #ifdef CONFIG_NUMA
-	numa_add_cpu(c - cpu_data);
+	if (c != &boot_cpu_data)
+		numa_add_cpu(c - cpu_data);
 #endif
 }
  
_
