* [PATCH] ACPI: Do not pass NULL to acpi_get_handle() when looking for _EJD
@ 2008-02-14 12:40 Holger Macht
2008-02-14 14:49 ` Thomas Renninger
0 siblings, 1 reply; 3+ messages in thread
From: Holger Macht @ 2008-02-14 12:40 UTC (permalink / raw)
To: linux-acpi; +Cc: Len Brown, Kristen Carlson Accardi, trenn
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@suse.de>
---
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;
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] ACPI: Do not pass NULL to acpi_get_handle() when looking for _EJD
2008-02-14 12:40 [PATCH] ACPI: Do not pass NULL to acpi_get_handle() when looking for _EJD Holger Macht
@ 2008-02-14 14:49 ` Thomas Renninger
2008-02-14 15:02 ` Thomas Renninger
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Renninger @ 2008-02-14 14:49 UTC (permalink / raw)
To: Holger Macht; +Cc: linux-acpi, Len Brown, Kristen Carlson Accardi
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@suse.de>
> ---
>
> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ACPI: Do not pass NULL to acpi_get_handle() when looking for _EJD
2008-02-14 14:49 ` Thomas Renninger
@ 2008-02-14 15:02 ` Thomas Renninger
0 siblings, 0 replies; 3+ messages in thread
From: Thomas Renninger @ 2008-02-14 15:02 UTC (permalink / raw)
To: Holger Macht; +Cc: linux-acpi, Len Brown, Kristen Carlson Accardi
On Thu, 2008-02-14 at 15:49 +0100, Thomas Renninger wrote:
> 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@suse.de>
> > ---
> >
> > 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.
I mean I have verified and can confirm that..
> 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.
Same here.
> Please add it, looks like a typo.
Thomas
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-02-14 15:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-14 12:40 [PATCH] ACPI: Do not pass NULL to acpi_get_handle() when looking for _EJD Holger Macht
2008-02-14 14:49 ` Thomas Renninger
2008-02-14 15:02 ` Thomas Renninger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox