[IA64] Avoid overflowing ia64_cpu_to_sapicid in acpi_map_lsapic()
authorAlex Chiang <achiang@hp.com>
Wed, 16 Jul 2008 18:47:08 +0000 (12:47 -0600)
committerTony Luck <tony.luck@intel.com>
Thu, 17 Jul 2008 18:24:42 +0000 (11:24 -0700)
acpi_map_lsapic tries to stuff a long into ia64_cpu_to_sapicid[],
which can only hold ints, so let's fix that.

We need to update the signature of acpi_map_cpu2node() too.

Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/acpi.c

index 43687cc..5d1eb7e 100644 (file)
@@ -774,7 +774,7 @@ int acpi_gsi_to_irq(u32 gsi, unsigned int *irq)
  */
 #ifdef CONFIG_ACPI_HOTPLUG_CPU
 static
-int acpi_map_cpu2node(acpi_handle handle, int cpu, long physid)
+int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
 {
 #ifdef CONFIG_ACPI_NUMA
        int pxm_id;
@@ -854,8 +854,7 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu)
        union acpi_object *obj;
        struct acpi_madt_local_sapic *lsapic;
        cpumask_t tmp_map;
-       long physid;
-       int cpu;
+       int cpu, physid;
 
        if (ACPI_FAILURE(acpi_evaluate_object(handle, "_MAT", NULL, &buffer)))
                return -EINVAL;