From 59ce063597ddbda74269a45aba8187dece2fe00a Mon Sep 17 00:00:00 2001 From: Jung-uk Kim Date: Fri, 23 Aug 2013 18:01:58 +0000 Subject: Import ACPICA 20130823. --- source/components/tables/tbinstal.c | 9 ++------- source/components/tables/tbprint.c | 13 ++++++++++++- source/components/tables/tbxfroot.c | 3 +-- 3 files changed, 15 insertions(+), 10 deletions(-) (limited to 'source/components/tables') diff --git a/source/components/tables/tbinstal.c b/source/components/tables/tbinstal.c index e480749a23a8..ecbf25686231 100644 --- a/source/components/tables/tbinstal.c +++ b/source/components/tables/tbinstal.c @@ -93,14 +93,9 @@ AcpiTbVerifyTable ( } } - /* FACS is the odd table, has no standard ACPI header and no checksum */ + /* Always calculate checksum, ignore bad checksum if requested */ - if (!ACPI_COMPARE_NAME (&TableDesc->Signature, ACPI_SIG_FACS)) - { - /* Always calculate checksum, ignore bad checksum if requested */ - - Status = AcpiTbVerifyChecksum (TableDesc->Pointer, TableDesc->Length); - } + Status = AcpiTbVerifyChecksum (TableDesc->Pointer, TableDesc->Length); return_ACPI_STATUS (Status); } diff --git a/source/components/tables/tbprint.c b/source/components/tables/tbprint.c index 7823ffc1d914..f24de49a339e 100644 --- a/source/components/tables/tbprint.c +++ b/source/components/tables/tbprint.c @@ -158,7 +158,7 @@ AcpiTbPrintTableHeader ( Header->Signature, ACPI_CAST_PTR (void, Address), Header->Length)); } - else if (ACPI_COMPARE_NAME (Header->Signature, ACPI_SIG_RSDP)) + else if (ACPI_VALIDATE_RSDP_SIG (Header->Signature)) { /* RSDP has no common fields */ @@ -211,6 +211,17 @@ AcpiTbVerifyChecksum ( UINT8 Checksum; + /* + * FACS/S3PT: + * They are the odd tables, have no standard ACPI header and no checksum + */ + + if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_S3PT) || + ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_FACS)) + { + return (AE_OK); + } + /* Compute the checksum on the table */ Checksum = AcpiTbChecksum (ACPI_CAST_PTR (UINT8, Table), Length); diff --git a/source/components/tables/tbxfroot.c b/source/components/tables/tbxfroot.c index fa67781cb14f..812f18003579 100644 --- a/source/components/tables/tbxfroot.c +++ b/source/components/tables/tbxfroot.c @@ -75,8 +75,7 @@ AcpiTbValidateRsdp ( * Note: Sometimes there exists more than one RSDP in memory; the valid * RSDP has a valid checksum, all others have an invalid checksum. */ - if (ACPI_STRNCMP ((char *) Rsdp->Signature, ACPI_SIG_RSDP, - sizeof (ACPI_SIG_RSDP)-1) != 0) + if (!ACPI_VALIDATE_RSDP_SIG (Rsdp->Signature)) { /* Nope, BAD Signature */ -- cgit v1.3