diff options
Diffstat (limited to 'drivers/acpi/tables/tbinstal.c')
| -rw-r--r-- | drivers/acpi/tables/tbinstal.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/drivers/acpi/tables/tbinstal.c b/drivers/acpi/tables/tbinstal.c index 3bc0c67a92..6a6ee1f06c 100644 --- a/drivers/acpi/tables/tbinstal.c +++ b/drivers/acpi/tables/tbinstal.c | |||
| @@ -125,13 +125,20 @@ acpi_tb_add_table(struct acpi_table_desc *table_desc, | |||
| 125 | 125 | ||
| 126 | /* The table must be either an SSDT or a PSDT or an OEMx */ | 126 | /* The table must be either an SSDT or a PSDT or an OEMx */ |
| 127 | 127 | ||
| 128 | if ((!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_PSDT)) | 128 | if (!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_PSDT)&& |
| 129 | && | 129 | !ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_SSDT)&& |
| 130 | (!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_SSDT)) | 130 | strncmp(table_desc->pointer->signature, "OEM", 3)) { |
| 131 | && (strncmp(table_desc->pointer->signature, "OEM", 3))) { | 131 | /* Check for a printable name */ |
| 132 | ACPI_ERROR((AE_INFO, | 132 | if (acpi_ut_valid_acpi_name( |
| 133 | "Table has invalid signature [%4.4s], must be SSDT, PSDT or OEMx", | 133 | *(u32 *) table_desc->pointer->signature)) { |
| 134 | table_desc->pointer->signature)); | 134 | ACPI_ERROR((AE_INFO, "Table has invalid signature " |
| 135 | "[%4.4s], must be SSDT or PSDT", | ||
| 136 | table_desc->pointer->signature)); | ||
| 137 | } else { | ||
| 138 | ACPI_ERROR((AE_INFO, "Table has invalid signature " | ||
| 139 | "(0x%8.8X), must be SSDT or PSDT", | ||
| 140 | *(u32 *) table_desc->pointer->signature)); | ||
| 141 | } | ||
| 135 | return_ACPI_STATUS(AE_BAD_SIGNATURE); | 142 | return_ACPI_STATUS(AE_BAD_SIGNATURE); |
| 136 | } | 143 | } |
| 137 | 144 | ||
