diff --git a/src/cndm/modules/cndm/cndm_cq.c b/src/cndm/modules/cndm/cndm_cq.c index 81aff72..e3c4e51 100644 --- a/src/cndm/modules/cndm/cndm_cq.c +++ b/src/cndm/modules/cndm/cndm_cq.c @@ -130,6 +130,11 @@ void cndm_close_cq(struct cndm_cq *cq) cq->enabled = 0; + if (cq->eq) { + cndm_eq_detach_cq(cq->eq, cq); + cq->eq = NULL; + } + if (cq->cqn != -1) { cmd.opcode = CNDM_CMD_OP_DESTROY_CQ; cmd.flags = 0x00000000; @@ -143,11 +148,6 @@ void cndm_close_cq(struct cndm_cq *cq) cq->db_addr = NULL; } - if (cq->eq) { - cndm_eq_detach_cq(cq->eq, cq); - cq->eq = NULL; - } - if (cq->irq) { atomic_notifier_chain_unregister(&cq->irq->nh, &cq->irq_nb); cq->irq = NULL;