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