diff options
-rw-r--r-- | drivers/acpi/processor_core.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index 626c75479868..9eeda9e437ea 100644 --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c | |||
@@ -50,12 +50,15 @@ static int map_lapic_id(struct acpi_subtable_header *entry, | |||
50 | { | 50 | { |
51 | struct acpi_madt_local_apic *lapic = | 51 | struct acpi_madt_local_apic *lapic = |
52 | (struct acpi_madt_local_apic *)entry; | 52 | (struct acpi_madt_local_apic *)entry; |
53 | if ((lapic->lapic_flags & ACPI_MADT_ENABLED) && | 53 | |
54 | lapic->processor_id == acpi_id) { | 54 | if (!(lapic->lapic_flags & ACPI_MADT_ENABLED)) |
55 | *apic_id = lapic->id; | 55 | return 0; |
56 | return 1; | 56 | |
57 | } | 57 | if (lapic->processor_id != acpi_id) |
58 | return 0; | 58 | return 0; |
59 | |||
60 | *apic_id = lapic->id; | ||
61 | return 1; | ||
59 | } | 62 | } |
60 | 63 | ||
61 | static int map_x2apic_id(struct acpi_subtable_header *entry, | 64 | static int map_x2apic_id(struct acpi_subtable_header *entry, |