Date: Fri, 20 Jan 2006 21:59:13 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern subr_bus.c Message-ID: <200601202159.k0KLxDik012850@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2006-01-20 21:59:13 UTC
FreeBSD src repository
Modified files:
sys/kern subr_bus.c
Log:
When loading a driver that is a subclass of another driver don't set the
devclass's parent pointer if the two drivers share the same devclass. This
can happen if the drivers use the same new-bus name. For example, we
currently have 3 drivers that use the name "pci": the generic PCI bus
driver, the ACPI PCI bus driver, and the OpenFirmware PCI bus driver. If
the ACPI PCI bus driver was defined as a subclass of the generic PCI bus
driver, then without this check the "pci" devclass would point to itself
as its parent and device_probe_child() would spin forever when it
encountered the first PCI device that did have a matching driver.
Reviewed by: dfr, imp, new-bus@
Revision Changes Path
1.189 +11 -1 src/sys/kern/subr_bus.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601202159.k0KLxDik012850>
