summaryrefslogtreecommitdiff
path: root/source/os_specific/service_layers/oslinuxtbl.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/os_specific/service_layers/oslinuxtbl.c')
-rw-r--r--source/os_specific/service_layers/oslinuxtbl.c23
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);