diff options
Diffstat (limited to 'source/os_specific/service_layers/oslinuxtbl.c')
-rw-r--r-- | source/os_specific/service_layers/oslinuxtbl.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/source/os_specific/service_layers/oslinuxtbl.c b/source/os_specific/service_layers/oslinuxtbl.c index 67a5e0246db3..fd593a12263e 100644 --- a/source/os_specific/service_layers/oslinuxtbl.c +++ b/source/os_specific/service_layers/oslinuxtbl.c @@ -960,26 +960,11 @@ OslMapTable ( * Checksum for RSDP. * Note: Other checksums are computed during the table dump. */ - if (!ACPI_STRNCMP (MappedTable->Signature, ACPI_SIG_RSDP, - sizeof (ACPI_SIG_RSDP) - 1)) - { - /* Check the standard checksum */ - - if (AcpiTbChecksum ((UINT8 *) MappedTable, ACPI_RSDP_CHECKSUM_LENGTH)) - { - fprintf (stderr, "Warning: wrong checksum for RSDP\n"); - } - - /* Check extended checksum if table version >= 2 */ - if (MappedTable->Revision) - { - if (AcpiTbChecksum ((UINT8 *) MappedTable, - ACPI_RSDP_XCHECKSUM_LENGTH)) - { - fprintf (stderr, "Warning: wrong checksum for RSDP\n"); - } - } + if (AcpiTbValidateRsdp (ACPI_CAST_PTR (ACPI_TABLE_RSDP, MappedTable)) == + AE_BAD_CHECKSUM) + { + fprintf (stderr, "Warning: wrong checksum for RSDP\n"); } return (AE_OK); |