summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2004-10-02 15:03:26 +0000
committerpjd <pjd@FreeBSD.org>2004-10-02 15:03:26 +0000
commit06c0f5f487f14efb2fb16da9a0fc8601fdde3d31 (patch)
treee4118624fb4d3a56c21be89bb98928d0d096a33c
parentcd175bdd40243f3f77038271b5ed30660833737f (diff)
downloadFreeBSD-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>
-rw-r--r--sys/geom/gate/g_gate.c1
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);
OpenPOWER on IntegriCloud