
Add a missing memset to acpi_create_spcr().
The other acpi_create_xxxx() functions perform a memset on their structures, acpi_create_spcr() does not and as a result the contents of this table are partly uninitialized (and thus random after every reset).
Signed-off-by: Wolfgang Wallner wolfgang.wallner@br-automation.com ---
arch/x86/lib/acpi_table.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c index 6b827bfa3f..054235843e 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); @@ -359,6 +361,7 @@ static void acpi_create_spcr(struct acpi_spcr *spcr) spcr->baud_rate = 0;
/* Fix checksum */ + header->checksum = table_compute_checksum((void *)spcr, header->length); }