diff options
-rw-r--r-- | drivers/acpi/processor_core.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index 9eeda9e437ea..18fa6337c12c 100644 --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c | |||
@@ -66,22 +66,16 @@ static int map_x2apic_id(struct acpi_subtable_header *entry, | |||
66 | { | 66 | { |
67 | struct acpi_madt_local_x2apic *apic = | 67 | struct acpi_madt_local_x2apic *apic = |
68 | (struct acpi_madt_local_x2apic *)entry; | 68 | (struct acpi_madt_local_x2apic *)entry; |
69 | u32 tmp = apic->local_apic_id; | ||
70 | 69 | ||
71 | /* Only check enabled APICs*/ | ||
72 | if (!(apic->lapic_flags & ACPI_MADT_ENABLED)) | 70 | if (!(apic->lapic_flags & ACPI_MADT_ENABLED)) |
73 | return 0; | 71 | return 0; |
74 | 72 | ||
75 | /* Device statement declaration type */ | 73 | if (device_declaration && (apic->uid == acpi_id)) { |
76 | if (device_declaration) { | 74 | *apic_id = apic->local_apic_id; |
77 | if (apic->uid == acpi_id) | 75 | return 1; |
78 | goto found; | ||
79 | } | 76 | } |
80 | 77 | ||
81 | return 0; | 78 | return 0; |
82 | found: | ||
83 | *apic_id = tmp; | ||
84 | return 1; | ||
85 | } | 79 | } |
86 | 80 | ||
87 | static int map_lsapic_id(struct acpi_subtable_header *entry, | 81 | static int map_lsapic_id(struct acpi_subtable_header *entry, |