From 99b91105134836ab8410881a39784eacdcd8a1c2 Mon Sep 17 00:00:00 2001 From: hselasky Date: Wed, 14 Jan 2015 14:04:29 +0000 Subject: Add a kernel function to delist our kernel character devices, so that the device name can be re-used right away in case we are destroying the character devices in the background. MFC after: 4 days Reported by: dchagin@ --- sys/kern/kern_conf.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'sys/kern/kern_conf.c') diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index d15e5da..8b1fdc1 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -1114,6 +1114,23 @@ destroy_devl(struct cdev *dev) } } +static void +delist_dev_locked(struct cdev *dev) +{ + struct cdev *child; + devfs_destroy(dev); + LIST_FOREACH(child, &dev->si_children, si_siblings) + delist_dev_locked(child); +} + +void +delist_dev(struct cdev *dev) +{ + dev_lock(); + delist_dev_locked(dev); + dev_unlock(); +} + void destroy_dev(struct cdev *dev) { -- cgit v1.1