ACPI processor: Only blindly return apic id 0 for real UP systems This fixes a "not loading acpi-cpufreq driver" regression introduced by git commit d640113fe80e45ebd4a5b4 on SMP systems where the processor core with ACPI id zero is disabled (typically should be the case because of hyperthreading). The regression got spread through stable kernels. On 3.0.X it got introduced via 3.0.18. Such platforms may be rare, but do exist. This problem has been observed on a: HP Proliant BL280c G6 blade This patch restricts the introduced workaround to platforms with nr_cpu_ids <= 1. Signed-off-by: Thomas Renninger <trenn@xxxxxxx> --- drivers/acpi/processor_core.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) Index: linux-3.0-SLE11-SP2/drivers/acpi/processor_core.c =================================================================== --- linux-3.0-SLE11-SP2.orig/drivers/acpi/processor_core.c +++ linux-3.0-SLE11-SP2/drivers/acpi/processor_core.c @@ -201,10 +201,12 @@ int acpi_get_cpuid(acpi_handle handle, i * Processor (CPU3, 0x03, 0x00000410, 0x06) {} * } * - * Ignores apic_id and always return 0 for CPU0's handle. + * Ignores apic_id and always returns 0 for the processor + * handle with apic id 0 if nr_cpu_ids is 1. + * This should be the case if SMP tables are not found. * Return -1 for other CPU's handle. */ - if (acpi_id == 0) + if (nr_cpu_ids <= 1 && acpi_id == 0) return acpi_id; else return apic_id; -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html