Re: [PATCH 3/4] ACPI: Check for any matching CID when walking namespace.

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

 



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@xxxxxx>
> > 
> > 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@xxxxxx>
> > ---
> > 
> >  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-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