Re: [RFC Patch 09/19] ACPI: Fix a bug in parsing ACPI Memroy24 resource

From: Rafael J. Wysocki
Date: Tue Jan 20 2015 - 19:19:49 EST


On Thursday, January 08, 2015 10:32:56 AM Jiang Liu wrote:
> According to ACPI spec 5, section 6.4.3.1 "24-Bit Memory Range Descriptor",
> minimum, maximum and address_length field in struct acpi_resource_memory24
> is in granularity of 256-bytes. So shift 8-bit left to get correct address.

Are you sure about this?

I'm reading ACPI 5.1 ATM and (on page 316) it only says about the range length
being in 256 byte blocks.

> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx>
> ---
> drivers/acpi/resource.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
> index abe3a29ad802..f4aeef22a9d8 100644
> --- a/drivers/acpi/resource.c
> +++ b/drivers/acpi/resource.c
> @@ -90,8 +90,8 @@ bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res)
> switch (ares->type) {
> case ACPI_RESOURCE_TYPE_MEMORY24:
> memory24 = &ares->data.memory24;
> - acpi_dev_get_memresource(res, memory24->minimum,
> - memory24->address_length,
> + acpi_dev_get_memresource(res, memory24->minimum << 8,
> + memory24->address_length << 8,
> memory24->write_protect);
> break;
> case ACPI_RESOURCE_TYPE_MEMORY32:
>

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/