Date: Fri, 3 Jun 2005 20:12:12 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/acpica acpi.c Message-ID: <200506032012.j53KCC5k077879@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200506032012.j53KCC5k077879>
