cvs commit: src/sys/dev/acpica acpi.c
Warner Losh
imp at FreeBSD.org
Fri Jun 3 13:12:12 PDT 2005
imp 2005-06-03 20:12:12 UTC
FreeBSD src repository
Modified files:
sys/dev/acpica acpi.c
Log:
In newbus land, ivars can only be accessed for direct child, or when
the driver has unholy private knowledge of its great-*cgrandchildren.
The ACPI allocation routine lacked such knowledge when it tried to do
a default allocation for all descendants, rather than just its
immeidate children, so would access grandchild's ivar in an unsafe
way. This could lead to a panic when devices were present which had
no addresses setup by the BIOS, but which were later allocated in a
lazy manner via pci_alloc_map. As such, only do the default
allocation adjustments for immediate children. The manner that
acpi_sysres_find accesses the resource list, used later in
acpi_alloc_resource, is safe and proper so no additional test is
needed there.
This fixes a panic when probing an disabled ata controller on some
newer intel blades.
Reported by: dwhite
Revision Changes Path
1.214 +1 -1 src/sys/dev/acpica/acpi.c
More information about the cvs-src
mailing list