diff options
| -rw-r--r-- | drivers/acpi/acpica/tbinstal.c | 12 | ||||
| -rw-r--r-- | drivers/acpi/acpica/tbprint.c | 10 | 
2 files changed, 13 insertions, 9 deletions
| diff --git a/drivers/acpi/acpica/tbinstal.c b/drivers/acpi/acpica/tbinstal.c index 42a13c0d7015..9e6788f9ba0f 100644 --- a/drivers/acpi/acpica/tbinstal.c +++ b/drivers/acpi/acpica/tbinstal.c @@ -80,16 +80,10 @@ acpi_status acpi_tb_verify_table(struct acpi_table_desc *table_desc)  		}  	} -	/* 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(&table_desc->signature, ACPI_SIG_FACS)) { - -		/* Always calculate checksum, ignore bad checksum if requested */ - -		status = -		    acpi_tb_verify_checksum(table_desc->pointer, -					    table_desc->length); -	} +	status = +	    acpi_tb_verify_checksum(table_desc->pointer, table_desc->length);  	return_ACPI_STATUS(status);  } diff --git a/drivers/acpi/acpica/tbprint.c b/drivers/acpi/acpica/tbprint.c index dc963f823d2c..499759a23b41 100644 --- a/drivers/acpi/acpica/tbprint.c +++ b/drivers/acpi/acpica/tbprint.c @@ -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); | 
