aboutsummaryrefslogtreecommitdiff
path: root/sys/geom
diff options
context:
space:
mode:
Diffstat (limited to 'sys/geom')
-rw-r--r--sys/geom/geom_subr.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/geom/geom_subr.c b/sys/geom/geom_subr.c
index 98b8f8f4c32af..e05184fe029a9 100644
--- a/sys/geom/geom_subr.c
+++ b/sys/geom/geom_subr.c
@@ -186,9 +186,11 @@ g_modevent(module_t mod, int type, void *data)
error = g_waitfor_event(g_unload_class, hh, M_WAITOK, NULL);
if (error == 0)
error = hh->error;
- g_waitidle();
- KASSERT(LIST_EMPTY(&hh->mp->geom),
- ("Unloaded class (%s) still has geom", hh->mp->name));
+ if (error == 0) {
+ g_waitidle();
+ KASSERT(LIST_EMPTY(&hh->mp->geom),
+ ("Unloaded class (%s) still has geom", hh->mp->name));
+ }
g_free(hh);
break;
}