diff --git a/source/components/tables/tbinstal.c b/source/components/tables/tbinstal.c index 2e5a507dc0..f7d7c4e7a3 100644 --- a/source/components/tables/tbinstal.c +++ b/source/components/tables/tbinstal.c @@ -351,32 +351,6 @@ AcpiTbInstallStandardTable ( if (Reload) { - /* - * Validate the incoming table signature. - * - * 1) Originally, we checked the table signature for "SSDT" or "PSDT". - * 2) We added support for OEMx tables, signature "OEM". - * 3) Valid tables were encountered with a null signature, so we just - * gave up on validating the signature, (05/2008). - * 4) We encountered non-AML tables such as the MADT, which caused - * interpreter errors and kernel faults. So now, we once again allow - * only "SSDT", "OEMx", and now, also a null signature. (05/2011). - */ - if ((NewTableDesc.Signature.Ascii[0] != 0x00) && - (!ACPI_COMPARE_NAME (&NewTableDesc.Signature, ACPI_SIG_SSDT)) && - (strncmp (NewTableDesc.Signature.Ascii, "OEM", 3))) - { - ACPI_BIOS_ERROR ((AE_INFO, - "Table has invalid signature [%4.4s] (0x%8.8X), " - "must be SSDT or OEMx", - AcpiUtValidNameseg (NewTableDesc.Signature.Ascii) ? - NewTableDesc.Signature.Ascii : "????", - NewTableDesc.Signature.Integer)); - - Status = AE_BAD_SIGNATURE; - goto UnlockAndExit; - } - /* Check if table is already registered */ for (i = 0; i < AcpiGbl_RootTableList.CurrentTableCount; ++i) diff --git a/source/components/tables/tbxfload.c b/source/components/tables/tbxfload.c index 6b79793488..57720067a2 100644 --- a/source/components/tables/tbxfload.c +++ b/source/components/tables/tbxfload.c @@ -336,11 +336,11 @@ AcpiTbLoadNamespace ( { Table = &AcpiGbl_RootTableList.Tables[i]; - if (!AcpiGbl_RootTableList.Tables[i].Address || + if (!Table->Address || (!ACPI_COMPARE_NAME (Table->Signature.Ascii, ACPI_SIG_SSDT) && !ACPI_COMPARE_NAME (Table->Signature.Ascii, ACPI_SIG_PSDT) && !ACPI_COMPARE_NAME (Table->Signature.Ascii, ACPI_SIG_OSDT)) || - ACPI_FAILURE (AcpiTbValidateTable (Table))) + ACPI_FAILURE (AcpiTbValidateTable (Table))) { continue; }