x86: fix bogus memcpy in es7000_check_dsdt()
authorThomas Gleixner <tglx@linutronix.de>
Wed, 14 Nov 2007 12:20:48 +0000 (13:20 +0100)
committerThomas Gleixner <tglx@apollo.(none)>
Sat, 17 Nov 2007 15:27:00 +0000 (16:27 +0100)
es7000_check_dst() contains a memcpy from 0, which probably should have been
a memset. Remove it and check the retunr value from acpi_get_table_header.

Noticed by: Joe Perches <joe@perches.com>

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/asm-x86/mach-es7000/mach_mpparse.h

index 8aa10547b4b1e9aed60bc91223fc86ccf035a9aa..52ee75cd0fe175067d5bbe35af64d3f1801296c2 100644 (file)
@@ -29,9 +29,9 @@ extern int mps_oem_check(struct mp_config_table *mpc, char *oem,
 static inline int es7000_check_dsdt(void)
 {
        struct acpi_table_header header;
-       memcpy(&header, 0, sizeof(struct acpi_table_header));
-       acpi_get_table_header(ACPI_SIG_DSDT, 0, &header);
-       if (!strncmp(header.oem_id, "UNISYS", 6))
+
+       if (ACPI_SUCCESS(acpi_get_table_header(ACPI_SIG_DSDT, 0, &header)) &&
+           !strncmp(header.oem_id, "UNISYS", 6))
                return 1;
        return 0;
 }