aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/boot/compressed/acpi.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/boot/compressed/acpi.c')
-rw-r--r--arch/x86/boot/compressed/acpi.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/boot/compressed/acpi.c b/arch/x86/boot/compressed/acpi.c
index 8bcbcee54aa1..14fd17b34f27 100644
--- a/arch/x86/boot/compressed/acpi.c
+++ b/arch/x86/boot/compressed/acpi.c
@@ -264,6 +264,14 @@ acpi_physical_address get_rsdp_addr(void)
if (!pa)
pa = kexec_get_rsdp_addr();
+ /*
+ * Try to get EFI data from setup_data. This can happen when we're a
+ * kexec'ed kernel and kexec(1) has passed all the required EFI info to
+ * us.
+ */
+ if (!pa)
+ pa = kexec_get_rsdp_addr();
+
if (!pa)
pa = efi_get_rsdp_addr();