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 <[EMAIL PROTECTED]>
> > 
> > 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 <[EMAIL PROTECTED]>
> > ---
> > 
> >  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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to