Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02f8a858 authored by Andrew Patterson's avatar Andrew Patterson Committed by Len Brown
Browse files

ACPI: Check for any matching CID when walking namespace.



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: default avatarAndrew Patterson <andrew.patterson@hp.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent cbd9c883
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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);
		}
	}