diff options
author | dfr <dfr@FreeBSD.org> | 2001-10-04 08:31:17 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2001-10-04 08:31:17 +0000 |
commit | 158d043f885532a6b1e0d21da0b4806fab6fa02d (patch) | |
tree | 53595979573cb2d5b84e3cd2e2335c2dc71140c6 /sys/dev/acpica/acpi.c | |
parent | c5bb23781e60dfdc865fe2a8cc602803f70521a4 (diff) | |
download | FreeBSD-src-158d043f885532a6b1e0d21da0b4806fab6fa02d.zip FreeBSD-src-158d043f885532a6b1e0d21da0b4806fab6fa02d.tar.gz |
Check the compatible ID as well as the hardware ID in acpi_MatchHid.
Diffstat (limited to 'sys/dev/acpica/acpi.c')
-rw-r--r-- | sys/dev/acpica/acpi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 325d261..92e1056 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -911,6 +911,7 @@ acpi_MatchHid(device_t dev, char *hid) ACPI_HANDLE h; ACPI_DEVICE_INFO devinfo; ACPI_STATUS error; + int cid; ACPI_ASSERTLOCK; @@ -922,6 +923,10 @@ acpi_MatchHid(device_t dev, char *hid) return(FALSE); if ((devinfo.Valid & ACPI_VALID_HID) && !strcmp(hid, devinfo.HardwareId)) return(TRUE); + if ((error = acpi_EvaluateInteger(h, "_CID", &cid)) != AE_OK) + return(FALSE); + if (cid == PNP_EISAID(hid)) + return(TRUE); return(FALSE); } |