summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/tbprint.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-28 01:14:59 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-28 01:14:59 +0100
commit9183ea62f71484dd2e91e313b766adeb15789f90 (patch)
treeee81ef91ec6280f55a90f79a099097cd7be2f3b6 /drivers/acpi/acpica/tbprint.c
parent31c466c1af229b08bec56c6564b50311d9d660ca (diff)
parent3774929d2ac6213a78068a33660d3402f2334d60 (diff)
Merge branch 'acpica'
* acpica: MAINTAINERS / ACPICA: Add ACPICA information to MAINTAINERS ACPICA: Update version to 20130823. ACPICA: SCI Handlers: Update handler interface, eliminate unnecessary argument. ACPICA: Cleanup exception codes. ACPICA: Tables: Cleanup RSDP signature codes. ACPICA: Tables: Cleanup table checksum verification code. ACPICA: Debugger: Add new command to display full namespace pathnames. ACPICA: Operation region support: Never free the handler "context" pointer. ACPICA: Add support for host-installed SCI handlers. ACPICA: Validate start object for acpi_walk_namespace. ACPICA: Debugger: Prevent possible command line buffer overflow, kernel behavior is not affected. ACPICA: Linux-specific header: enable "aarch64" 64-bit build. ACPICA: Debug output: small formatting update, no functional change. ACPICA: acpi_read: On error, do not modify the return value target location. ACPICA: Improve error message for "too many parent prefixes" condition.
Diffstat (limited to 'drivers/acpi/acpica/tbprint.c')
-rw-r--r--drivers/acpi/acpica/tbprint.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/tbprint.c b/drivers/acpi/acpica/tbprint.c
index dc963f823d2..9a47715af1f 100644
--- a/drivers/acpi/acpica/tbprint.c
+++ b/drivers/acpi/acpica/tbprint.c
@@ -138,7 +138,7 @@ acpi_tb_print_table_header(acpi_physical_address address,
ACPI_INFO((AE_INFO, "%4.4s %p %05X",
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 */
@@ -190,6 +190,16 @@ acpi_status acpi_tb_verify_checksum(struct acpi_table_header *table, u32 length)
{
u8 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 = acpi_tb_checksum(ACPI_CAST_PTR(u8, table), length);