summaryrefslogtreecommitdiff
path: root/arch/x86/lib/acpi_table.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/lib/acpi_table.c')
-rw-r--r--arch/x86/lib/acpi_table.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index 3a93fedfc3..c445aa6870 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -252,6 +252,8 @@ static void acpi_create_spcr(struct acpi_spcr *spcr)
int space_id;
int ret = -ENODEV;
+ memset((void *)spcr, 0, sizeof(struct acpi_spcr));
+
/* Fill out header fields */
acpi_fill_header(header, "SPCR");
header->length = sizeof(struct acpi_spcr);
@@ -427,7 +429,7 @@ ulong write_acpi_tables(ulong start_addr)
(char *)&AmlCode + sizeof(struct acpi_table_header),
dsdt->length - sizeof(struct acpi_table_header));
- acpi_inc_align(ctx, dsdt->length - sizeof(struct acpi_table_header));
+ acpi_inc(ctx, dsdt->length - sizeof(struct acpi_table_header));
/* Pack GNVS into the ACPI table area */
for (i = 0; i < dsdt->length; i++) {
@@ -450,6 +452,8 @@ ulong write_acpi_tables(ulong start_addr)
dsdt->checksum = 0;
dsdt->checksum = table_compute_checksum((void *)dsdt, dsdt->length);
+ acpi_align(ctx);
+
/*
* Fill in platform-specific global NVS variables. If this fails we
* cannot return the error but this should only happen while debugging.