svn commit: r247487 - stable/9/sys/dev/acpica
John Baldwin
jhb at FreeBSD.org
Thu Feb 28 18:49:32 UTC 2013
Author: jhb
Date: Thu Feb 28 18:49:31 2013
New Revision: 247487
URL: http://svnweb.freebsd.org/changeset/base/247487
Log:
MFC 241748:
When checking to see if a video output's _ADR matches an entry in the
parent adapter's _DOD list, only check the low 16 bits of both _ADR and
_DOD. The language in the ACPI spec seems to indicate that the _ADR values
should exactly match the entries in _DOD. However, I assume that the
masking added to _DOD values was added to work around some known busted
machines (the commit history doesn't indicate either way), and the ACPI
spec does require that the low 16 bits are unique for all video outputs,
so only checking the low 16 bits should be fine.
This fixes recognition of video outputs that use the new standardized
device ID scheme in ACPI 3.0 that set bit 31 such as certain Dell laptops.
Modified:
stable/9/sys/dev/acpica/acpi_video.c
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/dev/ (props changed)
Modified: stable/9/sys/dev/acpica/acpi_video.c
==============================================================================
--- stable/9/sys/dev/acpica/acpi_video.c Thu Feb 28 18:46:56 2013 (r247486)
+++ stable/9/sys/dev/acpica/acpi_video.c Thu Feb 28 18:49:31 2013 (r247487)
@@ -906,7 +906,8 @@ vid_enum_outputs_subr(ACPI_HANDLE handle
for (i = 0; i < argset->dod_pkg->Package.Count; i++) {
if (acpi_PkgInt32(argset->dod_pkg, i, &val) == 0 &&
- (val & DOD_DEVID_MASK_FULL) == adr) {
+ (val & DOD_DEVID_MASK_FULL) ==
+ (adr & DOD_DEVID_MASK_FULL)) {
argset->callback(handle, val, argset->context);
argset->count++;
}
More information about the svn-src-stable-9
mailing list