Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Matthew Garrett and committed by
Len Brown
f17d9cbf 521cb40b

+5 -5
+5 -5
drivers/acpi/acpica/hwxface.c
··· 80 80 81 81 if (reset_reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) { 82 82 /* 83 - * For I/O space, write directly to the OSL. This bypasses the port 84 - * validation mechanism, which may block a valid write to the reset 85 - * register. 83 + * For I/O space, write directly to the OSL. This 84 + * bypasses the port validation mechanism, which may 85 + * block a valid write to the reset register. Spec 86 + * section 4.7.3.6 requires register width to be 8. 86 87 */ 87 88 status = 88 89 acpi_os_write_port((acpi_io_address) reset_reg->address, 89 - acpi_gbl_FADT.reset_value, 90 - reset_reg->bit_width); 90 + acpi_gbl_FADT.reset_value, 8); 91 91 } else { 92 92 /* Write the reset value to the reset register */ 93 93