DF-4532 / static_proof.log
== all device_busy/device_unbusy sites in sys/dev/drm ==
sys/dev/drm/drm_file.c:351: device_busy(dev->dev->bsddev);
sys/dev/drm/drm_drv.c:1230: device_unbusy(dev->dev->bsddev);
== devfs_set_cdevpriv callers in sys/dev/drm (would register the dtor) ==
(none: drm_cdevpriv_dtor is dead code)
== device_unbusy inside drm_file.c close/release paths? ==
(none)
== detach refuses while DS_BUSY (why this wedges the driver) ==
device_detach(device_t dev)
{
int error;
PDEBUG(("%s", DEVICENAME(dev)));
if (dev->state == DS_BUSY)
return(EBUSY);
if (dev->state != DS_ATTACHED)
PROVEN: every successful drm open() leaks one busy count; no live unbusy.