summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpi.c
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2001-10-04 08:31:17 +0000
committerdfr <dfr@FreeBSD.org>2001-10-04 08:31:17 +0000
commit158d043f885532a6b1e0d21da0b4806fab6fa02d (patch)
tree53595979573cb2d5b84e3cd2e2335c2dc71140c6 /sys/dev/acpica/acpi.c
parentc5bb23781e60dfdc865fe2a8cc602803f70521a4 (diff)
downloadFreeBSD-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.c5
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);
}
OpenPOWER on IntegriCloud