diff options
author | pjd <pjd@FreeBSD.org> | 2004-10-02 15:03:26 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2004-10-02 15:03:26 +0000 |
commit | 06c0f5f487f14efb2fb16da9a0fc8601fdde3d31 (patch) | |
tree | e4118624fb4d3a56c21be89bb98928d0d096a33c /sys/geom/gate | |
parent | cd175bdd40243f3f77038271b5ed30660833737f (diff) | |
download | FreeBSD-src-06c0f5f487f14efb2fb16da9a0fc8601fdde3d31.zip FreeBSD-src-06c0f5f487f14efb2fb16da9a0fc8601fdde3d31.tar.gz |
Unlock g_gate_list_mtx mutex when we cannot allocate unit number.
MT5 candidate.
PR: kern/72253
Submitted by: Ivan Voras <ivoras@fer.hr>
Diffstat (limited to 'sys/geom/gate')
-rw-r--r-- | sys/geom/gate/g_gate.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/geom/gate/g_gate.c b/sys/geom/gate/g_gate.c index bf75659..a18ff7e 100644 --- a/sys/geom/gate/g_gate.c +++ b/sys/geom/gate/g_gate.c @@ -412,6 +412,7 @@ g_gate_create(struct g_gate_ctl_create *ggio) mtx_lock(&g_gate_list_mtx); ggio->gctl_unit = g_gate_getunit(ggio->gctl_unit); if (ggio->gctl_unit == -1) { + mtx_unlock(&g_gate_list_mtx); mtx_destroy(&sc->sc_inqueue_mtx); mtx_destroy(&sc->sc_outqueue_mtx); free(sc, M_GATE); |