From 8c44e601edce21a587ee04838d93fa28e740617e Mon Sep 17 00:00:00 2001 From: Alex Chiang Date: Mon, 22 Feb 2010 12:11:55 -0700 Subject: [PATCH] --- yaml --- r: 188090 b: refs/heads/master c: eae701ceadf5aa3fc3b334029ef71f6885ef1cde h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/acpi/processor_core.c | 20 +++++--------------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/[refs] b/[refs] index 5871c03f6463..2609e14ca0a7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d67420956b7b1dcffb894b2f1f81b9408fca1b4c +refs/heads/master: eae701ceadf5aa3fc3b334029ef71f6885ef1cde diff --git a/trunk/drivers/acpi/processor_core.c b/trunk/drivers/acpi/processor_core.c index 18fa6337c12c..ee9bce18c084 100644 --- a/trunk/drivers/acpi/processor_core.c +++ b/trunk/drivers/acpi/processor_core.c @@ -83,27 +83,17 @@ static int map_lsapic_id(struct acpi_subtable_header *entry, { struct acpi_madt_local_sapic *lsapic = (struct acpi_madt_local_sapic *)entry; - u32 tmp = (lsapic->id << 8) | lsapic->eid; - /* Only check enabled APICs*/ if (!(lsapic->lapic_flags & ACPI_MADT_ENABLED)) return 0; - /* Device statement declaration type */ if (device_declaration) { - if (entry->length < 16) - printk(KERN_ERR PREFIX - "Invalid LSAPIC with Device type processor (SAPIC ID %#x)\n", - tmp); - else if (lsapic->uid == acpi_id) - goto found; - /* Processor statement declaration type */ - } else if (lsapic->processor_id == acpi_id) - goto found; + if ((entry->length < 16) || (lsapic->uid != acpi_id)) + return 0; + } else if (lsapic->processor_id != acpi_id) + return 0; - return 0; -found: - *apic_id = tmp; + *apic_id = (lsapic->id << 8) | lsapic->eid; return 1; }