diff --git a/lib/nvme/nvme_pcie.c b/lib/nvme/nvme_pcie.c index 8b248162d..c37c12bea 100644 --- a/lib/nvme/nvme_pcie.c +++ b/lib/nvme/nvme_pcie.c @@ -2059,6 +2059,11 @@ nvme_pcie_qpair_process_completions(struct spdk_nvme_qpair *qpair, uint32_t max_ spdk_mb(); #endif + if (spdk_unlikely(++pqpair->cq_head == pqpair->num_entries)) { + pqpair->cq_head = 0; + pqpair->phase = !pqpair->phase; + } + tr = &pqpair->tr[cpl->cid]; pqpair->sq_head = cpl->sqhd; @@ -2070,11 +2075,6 @@ nvme_pcie_qpair_process_completions(struct spdk_nvme_qpair *qpair, uint32_t max_ assert(0); } - if (spdk_unlikely(++pqpair->cq_head == pqpair->num_entries)) { - pqpair->cq_head = 0; - pqpair->phase = !pqpair->phase; - } - if (++num_completions == max_completions) { break; }