[PATCH] Change the PCI bus driver to free resources leaked by drivers
John Baldwin
jhb at freebsd.org
Mon Jun 24 21:18:21 UTC 2013
Currently our driver model trusts drivers to DTRT and properly release any
resources they allocated during probe() and attach(). I've added a new
resource_list() helper method to release active resources on a resource
list and used this to write a pci_child_detached() which cleans up any
active resources when a device fails to probe or a driver finishes
detach. It also fixes an issue where we did not power down devices when
the driver was detached (e.g. via kldunload). I've tested the resource
bits by writing a dummy driver that intentionally attached to an unattached
device and leaked a memory BAR and verified that the bus warned about the
leak and cleaned it up.
http://www.FreeBSD.org/~jhb/patches/pci_clean_detach.patch
--
John Baldwin
More information about the freebsd-new-bus
mailing list