Skip to content

Commit

Permalink
ACPI: Check for any matching CID when walking namespace.
Browse files Browse the repository at this point in the history
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@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Andrew Patterson authored and Len Brown committed Jan 23, 2008
1 parent cbd9c88 commit 02f8a85
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions drivers/acpi/namespace/nsxfeval.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down Expand Up @@ -496,16 +497,19 @@ 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);
}
}

Expand Down

0 comments on commit 02f8a85

Please sign in to comment.