diff options
| -rw-r--r-- | drivers/acpi/processor_core.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index c850de4c9a14..eff722278ff5 100644 --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c | |||
| @@ -189,10 +189,12 @@ int acpi_get_cpuid(acpi_handle handle, int type, u32 acpi_id) | |||
| 189 | * Processor (CPU3, 0x03, 0x00000410, 0x06) {} | 189 | * Processor (CPU3, 0x03, 0x00000410, 0x06) {} |
| 190 | * } | 190 | * } |
| 191 | * | 191 | * |
| 192 | * Ignores apic_id and always return 0 for CPU0's handle. | 192 | * Ignores apic_id and always returns 0 for the processor |
| 193 | * handle with acpi id 0 if nr_cpu_ids is 1. | ||
| 194 | * This should be the case if SMP tables are not found. | ||
| 193 | * Return -1 for other CPU's handle. | 195 | * Return -1 for other CPU's handle. |
| 194 | */ | 196 | */ |
| 195 | if (acpi_id == 0) | 197 | if (nr_cpu_ids <= 1 && acpi_id == 0) |
| 196 | return acpi_id; | 198 | return acpi_id; |
| 197 | else | 199 | else |
| 198 | return apic_id; | 200 | return apic_id; |
