summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/tables.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/tables.c')
-rw-r--r--drivers/acpi/tables.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index 48eabb6c2d4f..8fccbe49612a 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -473,14 +473,22 @@ static DECLARE_BITMAP(acpi_initrd_installed, NR_ACPI_INITRD_TABLES);
473 473
474void __init acpi_table_upgrade(void) 474void __init acpi_table_upgrade(void)
475{ 475{
476 void *data = (void *)initrd_start; 476 void *data;
477 size_t size = initrd_end - initrd_start; 477 size_t size;
478 int sig, no, table_nr = 0, total_offset = 0; 478 int sig, no, table_nr = 0, total_offset = 0;
479 long offset = 0; 479 long offset = 0;
480 struct acpi_table_header *table; 480 struct acpi_table_header *table;
481 char cpio_path[32] = "kernel/firmware/acpi/"; 481 char cpio_path[32] = "kernel/firmware/acpi/";
482 struct cpio_data file; 482 struct cpio_data file;
483 483
484 if (IS_ENABLED(CONFIG_ACPI_TABLE_OVERRIDE_VIA_BUILTIN_INITRD)) {
485 data = __initramfs_start;
486 size = __initramfs_size;
487 } else {
488 data = (void *)initrd_start;
489 size = initrd_end - initrd_start;
490 }
491
484 if (data == NULL || size == 0) 492 if (data == NULL || size == 0)
485 return; 493 return;
486 494