summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/io/mlxcx/mlxcx_ring.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/usr/src/uts/common/io/mlxcx/mlxcx_ring.c b/usr/src/uts/common/io/mlxcx/mlxcx_ring.c
index 17a09b9cae..6ce37ef1a0 100644
--- a/usr/src/uts/common/io/mlxcx/mlxcx_ring.c
+++ b/usr/src/uts/common/io/mlxcx/mlxcx_ring.c
@@ -378,12 +378,14 @@ mlxcx_cq_setup(mlxcx_t *mlxp, mlxcx_event_queue_t *eq,
mutex_exit(&cq->mlcq_mtx);
mutex_enter(&eq->mleq_mtx);
+ mutex_enter(&cq->mlcq_arm_mtx);
mutex_enter(&cq->mlcq_mtx);
ASSERT0(cq->mlcq_state & MLXCX_CQ_EQAVL);
avl_add(&eq->mleq_cqs, cq);
atomic_or_uint(&cq->mlcq_state, MLXCX_CQ_EQAVL);
mlxcx_arm_cq(mlxp, cq);
mutex_exit(&cq->mlcq_mtx);
+ mutex_exit(&cq->mlcq_arm_mtx);
mutex_exit(&eq->mleq_mtx);
*cqp = cq;