Re: [PATCH] ACPI: Do not pass NULL to acpi_get_handle() when looking for _EJD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2008-02-14 at 13:40 +0100, Holger Macht wrote:
> When trying to get the acpi_handle from an acpi_buffer, pass
> ACPI_ROOT_OBJECT instead of NULL to acpi_get_handle(). This fixes the
> detection of dock dependent bays.
> 
> 
> Signed-off-by: Holger Macht <hmacht@xxxxxxx>
> ---
> 
> diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
> index 3fac011..d9b9143 100644
> --- a/drivers/acpi/scan.c
> +++ b/drivers/acpi/scan.c
> @@ -609,7 +609,8 @@ acpi_bus_get_ejd(acpi_handle handle, acpi_handle *ejd)
>  	status = acpi_evaluate_object(handle, "_EJD", NULL, &buffer);
>  	if (ACPI_SUCCESS(status)) {
>  		obj = buffer.pointer;
> -		status = acpi_get_handle(NULL, obj->string.pointer, ejd);
> +		status = acpi_get_handle(ACPI_ROOT_OBJECT, obj->string.pointer,
> +					 ejd);
>  		kfree(buffer.pointer);
>  	}
>  	return status;
> 

I can verify that acpi_bus_get_ejd is totally useless without that
patch.
If "status = acpi_evaluate_object(handle, "_EJD", NULL, &buffer);"
succeeds (and AE_NOT_FOUND is not returned), the function will return
AE_BAD_PARAMETER, because NULL never makes sense as first argument of
acpi_get_handle:
status = acpi_get_handle(NULL, obj->string.pointer, ejd);

I can also verify that the correct handle is evaluated with this patch
on a recent ThinkPad, otherwise not.

Please add it, looks like a typo.

   Thomas

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux