[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