diff options
| author | Thomas Gleixner <[email protected]> | 2024-03-22 19:56:39 +0100 |
|---|---|---|
| committer | Borislav Petkov (AMD) <[email protected]> | 2024-03-23 12:41:48 +0100 |
| commit | f2208aa12c27bfada3c15c550c03ca81d42dcac2 (patch) | |
| tree | e84b5d79fdcc550dccb2986e5bf2a20b24e16b95 | |
| parent | 5e25eb25dae9fa0700bbe42aff0e2f105fcd096a (diff) | |
x86/mpparse: Register APIC address only once
The APIC address is registered twice. First during the early detection and
afterwards when actually scanning the table for APIC IDs. The APIC and
topology core warn about the second attempt.
Restrict it to the early detection call.
Fixes: 81287ad65da5 ("x86/apic: Sanitize APIC address setup")
Signed-off-by: Thomas Gleixner <[email protected]>
Signed-off-by: Borislav Petkov (AMD) <[email protected]>
Tested-by: Guenter Roeck <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
| -rw-r--r-- | arch/x86/kernel/mpparse.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c index 1ccd30c8246f..e89171b0347a 100644 --- a/arch/x86/kernel/mpparse.c +++ b/arch/x86/kernel/mpparse.c @@ -197,12 +197,12 @@ static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early) if (!smp_check_mpc(mpc, oem, str)) return 0; - /* Initialize the lapic mapping */ - if (!acpi_lapic) - register_lapic_address(mpc->lapic); - - if (early) + if (early) { + /* Initialize the lapic mapping */ + if (!acpi_lapic) + register_lapic_address(mpc->lapic); return 1; + } /* Now process the configuration blocks. */ while (count < mpc->length) { |