The address check in acpi_hw_get_access_bit_width() should be byte size
based, not bit width based. This patch fixes this mistake.

Reported-by: Boris Ostrovsky <[email protected]>
Suggested-by: Jan Beulich <[email protected]>
Signed-off-by: Lv Zheng <[email protected]>
---
 drivers/acpi/acpica/hwregs.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/acpica/hwregs.c b/drivers/acpi/acpica/hwregs.c
index 0f18dbc..74a591b 100644
--- a/drivers/acpi/acpica/hwregs.c
+++ b/drivers/acpi/acpica/hwregs.c
@@ -95,7 +95,7 @@ acpi_hw_get_access_bit_width(struct acpi_generic_address 
*reg, u8 max_bit_width)
                if (!reg->bit_offset && reg->bit_width &&
                    ACPI_IS_POWER_OF_TWO(reg->bit_width) &&
                    ACPI_IS_ALIGNED(reg->bit_width, 8) &&
-                   ACPI_IS_ALIGNED(address, reg->bit_width)) {
+                   ACPI_IS_ALIGNED(address, reg->bit_width >> 3)) {
                        return (reg->bit_width);
                } else {
                        if (reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
-- 
1.7.10

Reply via email to