Browse Source

ACPICA: Fix access width for reset vector

Section 4.7.3.6 of the ACPI specification requires that the register width
of the reset vector be 8 bits. Windows simply hardcodes the access to be
a byte and ignores the width provided in the FADT, so make sure that we
do the same.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Matthew Garrett 14 years ago
parent
commit
f17d9cbf20
1 changed files with 5 additions and 5 deletions
  1. 5 5
      drivers/acpi/acpica/hwxface.c

+ 5 - 5
drivers/acpi/acpica/hwxface.c

@@ -80,14 +80,14 @@ acpi_status acpi_reset(void)
 
 
 	if (reset_reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
 	if (reset_reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
 		/*
 		/*
-		 * For I/O space, write directly to the OSL. This bypasses the port
-		 * validation mechanism, which may block a valid write to the reset
-		 * register.
+		 * For I/O space, write directly to the OSL. This
+		 * bypasses the port validation mechanism, which may
+		 * block a valid write to the reset register. Spec
+		 * section 4.7.3.6 requires register width to be 8.
 		 */
 		 */
 		status =
 		status =
 		    acpi_os_write_port((acpi_io_address) reset_reg->address,
 		    acpi_os_write_port((acpi_io_address) reset_reg->address,
-				       acpi_gbl_FADT.reset_value,
-				       reset_reg->bit_width);
+				       acpi_gbl_FADT.reset_value, 8);
 	} else {
 	} else {
 		/* Write the reset value to the reset register */
 		/* Write the reset value to the reset register */