|
@@ -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,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);
|
|
|
}
|
|
|
}
|
|
|
|