patch-2.4.0-prerelease linux/drivers/acpi/tables/tbutils.c

Next file: linux/drivers/acpi/tables/tbxface.c
Previous file: linux/drivers/acpi/tables/tbtable.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test12/linux/drivers/acpi/tables/tbutils.c linux/drivers/acpi/tables/tbutils.c
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: tbutils - Table manipulation utilities
- *              $Revision: 26 $
+ *              $Revision: 31 $
  *
  *****************************************************************************/
 
@@ -107,7 +107,9 @@
 
 	/* Check for a pointer within the DSDT */
 
-	if (IS_IN_ACPI_TABLE (where, acpi_gbl_DSDT)) {
+	if ((acpi_gbl_DSDT) &&
+		(IS_IN_ACPI_TABLE (where, acpi_gbl_DSDT)))
+	{
 		return (TRUE);
 	}
 
@@ -186,7 +188,7 @@
 
 	MOVE_UNALIGNED32_TO_32 (&signature, &table_header->signature);
 	if (!acpi_cm_valid_acpi_name (signature)) {
-		REPORT_WARNING ("Invalid table signature found");
+		REPORT_WARNING (("Invalid table signature found\n"));
 		return (AE_BAD_SIGNATURE);
 	}
 
@@ -194,7 +196,7 @@
 	/* Validate the table length */
 
 	if (table_header->length < sizeof (ACPI_TABLE_HEADER)) {
-		REPORT_WARNING ("Invalid table header length found");
+		REPORT_WARNING (("Invalid table header length found\n"));
 		return (AE_BAD_HEADER);
 	}
 
@@ -220,7 +222,7 @@
 
 ACPI_STATUS
 acpi_tb_map_acpi_table (
-	void                    *physical_address,
+	ACPI_PHYSICAL_ADDRESS   physical_address,
 	u32                     *size,
 	void                    **logical_address)
 {
@@ -294,18 +296,20 @@
 acpi_tb_verify_table_checksum (
 	ACPI_TABLE_HEADER       *table_header)
 {
-	u8                      check_sum;
+	u8                      checksum;
 	ACPI_STATUS             status = AE_OK;
 
 
 	/* Compute the checksum on the table */
 
-	check_sum = acpi_tb_checksum (table_header, table_header->length);
+	checksum = acpi_tb_checksum (table_header, table_header->length);
 
 	/* Return the appropriate exception */
 
-	if (check_sum) {
-		REPORT_ERROR ("Invalid ACPI table checksum");
+	if (checksum) {
+		REPORT_WARNING (("Invalid checksum (%X) in table %4.4s\n",
+			checksum, &table_header->signature));
+
 		status = AE_BAD_CHECKSUM;
 	}
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)