[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1201117729.12916.132.camel@bluto.andrew>
Date: Wed, 23 Jan 2008 12:48:49 -0700
From: Andrew Patterson <andrew.patterson@...com>
To: Len Brown <lenb@...nel.org>
Cc: robert.moore@...el.com, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org, gregkh@...e.de, matthew@....cx,
tom.l.nguyen@...el.com, linux-acpi@...r.kernel.org
Subject: Re: [PATCH 3/4] ACPI: Check for any matching CID when walking
namespace.
On Wed, 2008-01-23 at 14:39 -0500, Len Brown wrote:
> Right Greg, this is not only an ACPI patch,
> but a patch that touches the ACPICA core.
> Lets get Bob to see if it applies to the latest upstream ACPICA code.
>
> Andrew,
> Do you give Intel permission to accept this patch under
> both licenses on the top of the file, such that we can
> re-distribute it in ACPICA to all the OSs that use ACPICA?
>
Yes, by all means.
Andrew Patterson
Hewlett-Packard
> (hey, and check out the spiffy new acpica home page: http://acpica.org/ )
>
> thanks,
> -Len
>
> On Tuesday 22 January 2008 19:18, Andrew Patterson wrote:
> > From: Andrew Patterson <andrew.patterson@...com>
> >
> > The callback function acpi_ns_get_device_callback called from
> > acpi_get_devices() will check CID's if the HID does not match. This code
> > has a bug where it requires that all CIDs match the HID. Changed the code
> > so that any CID match will do.
> >
> > Signed-off-by: Andrew Patterson <andrew.patterson@...com>
> > ---
> >
> > drivers/acpi/namespace/nsxfeval.c | 11 ++++++++---
> > 1 files changed, 8 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/acpi/namespace/nsxfeval.c b/drivers/acpi/namespace/nsxfeval.c
> > index f39fbc6..e562b24 100644
> > --- a/drivers/acpi/namespace/nsxfeval.c
> > +++ b/drivers/acpi/namespace/nsxfeval.c
> > @@ -443,6 +443,7 @@ acpi_ns_get_device_callback(acpi_handle obj_handle,
> > struct acpica_device_id hid;
> > struct acpi_compatible_id_list *cid;
> > acpi_native_uint i;
> > + int found;
> >
> > status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
> > if (ACPI_FAILURE(status)) {
> > @@ -496,16 +497,20 @@ acpi_ns_get_device_callback(acpi_handle obj_handle,
> >
> > /* Walk the CID list */
> >
> > + found = 0;
> > for (i = 0; i < cid->count; i++) {
> > if (ACPI_STRNCMP(cid->id[i].value, info->hid,
> > sizeof(struct
> > - acpi_compatible_id)) !=
> > + acpi_compatible_id)) ==
> > 0) {
> > - ACPI_FREE(cid);
> > - return (AE_OK);
> > + found = 1;
> > + break;
> > }
> > }
> > ACPI_FREE(cid);
> > + if (!found) {
> > + return (AE_OK);
> > + }
> > }
> > }
> >
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists