aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiang Liu <jiang.liu@linux.intel.com>2014-01-27 01:34:58 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-01-27 17:05:44 -0500
commitf778d1218f10504a87353c696faf116481fa27a6 (patch)
tree21ecdf6025fb513cd5b59f21b39e3d579c3f647b
parent038d7b593563818c5e9bc61e05c7f5ce1ce8e3ef (diff)
ACPI / scan: reduce log level of "ACPI: \_PR_.CPU4: failed to get CPU APIC ID"
Commit b981513f806d (ACPI / scan: bail out early if failed to parse APIC ID for CPU) emits an error message if ACPI processor driver fails to query APIC ID for the CPU. Originally it's designed to catch BIOS bugs for CPU hot-addition. But it accidently reveals another type of BIOS bug that: 1) BIOS implements ACPI objects for all possible instead of present CPUs. (It's valid to do that per ACPI specification.) 2) BIOS doesn't implement the _STA method for CPU objects. OSPM assumes that all CPU objects are present and functioning and attempts to use those CPU objects for CPU enumeration, which then triggers the error message. According to ACPI spec, BIOS should implement _STA for those absent CPUs at least. Though it's a BIOS bug in essential, there are some BIOSes in the fields which are implmented in this way. So reduce the log level from ERR to DEBUG to accommodate these existing BIOSes. Fixes: b981513f806d (ACPI / scan: bail out early if failed to parse APIC ID for CPU) Reported-and-tested-by: Jörg Otte <jrg.otte@gmail.com> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> [rjw: Changelog] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--drivers/acpi/acpi_processor.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 6ce71b07c197..21c0856daad7 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -261,7 +261,7 @@ static int acpi_processor_get_info(struct acpi_device *device)
261 261
262 apic_id = acpi_get_apicid(pr->handle, device_declaration, pr->acpi_id); 262 apic_id = acpi_get_apicid(pr->handle, device_declaration, pr->acpi_id);
263 if (apic_id < 0) { 263 if (apic_id < 0) {
264 acpi_handle_err(pr->handle, "failed to get CPU APIC ID.\n"); 264 acpi_handle_debug(pr->handle, "failed to get CPU APIC ID.\n");
265 return -ENODEV; 265 return -ENODEV;
266 } 266 }
267 pr->apic_id = apic_id; 267 pr->apic_id = apic_id;