diff --git a/sys/kern/subr_autoconf.c b/sys/kern/subr_autoconf.c index 121a18242abe..e447cae0a468 100644 --- a/sys/kern/subr_autoconf.c +++ b/sys/kern/subr_autoconf.c @@ -1958,9 +1958,14 @@ out: mutex_exit(&config_misc_lock); static void config_detach_exit(device_t dev) { + struct lwp *det __diagused; mutex_enter(&config_misc_lock); - KASSERT(dev->dv_detaching == curlwp); + KASSERTMSG((det = dev->dv_detaching) == curlwp, + "lwp %ld [%s] @ %p detaching", + (long)det->l_lid, + (det->l_name ? det->l_name : det->l_proc->p_comm), + det); dev->dv_detaching = NULL; cv_broadcast(&config_misc_cv); mutex_exit(&config_misc_lock); @@ -2171,9 +2176,14 @@ out: void config_detach_commit(device_t dev) { + struct lwp *det __diagused; mutex_enter(&config_misc_lock); - KASSERT(dev->dv_detaching == curlwp); + KASSERTMSG((det = dev->dv_detaching) == curlwp, + "lwp %ld [%s] @ %p detaching", + (long)det->l_lid, + (det->l_name ? det->l_name : det->l_proc->p_comm), + det); dev->dv_detached = true; cv_broadcast(&config_misc_cv); mutex_exit(&config_misc_lock);