diff --git a/lib/nvmf/ctrlr.c b/lib/nvmf/ctrlr.c index 2d4a64d22..4afeb32bc 100644 --- a/lib/nvmf/ctrlr.c +++ b/lib/nvmf/ctrlr.c @@ -1578,6 +1578,11 @@ nvmf_ctrlr_async_event_request(struct spdk_nvmf_request *req) SPDK_DEBUGLOG(SPDK_LOG_NVMF, "Async Event Request\n"); + /* AER cmd is an exception */ + sgroup = &req->qpair->group->sgroups[ctrlr->subsys->id]; + assert(sgroup != NULL); + sgroup->io_outstanding--; + /* Four asynchronous events are supported for now */ if (ctrlr->nr_aer_reqs >= NVMF_MAX_ASYNC_EVENTS) { SPDK_DEBUGLOG(SPDK_LOG_NVMF, "AERL exceeded\n"); @@ -1600,11 +1605,6 @@ nvmf_ctrlr_async_event_request(struct spdk_nvmf_request *req) return SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE; } - /* AER cmd is an exception */ - sgroup = &req->qpair->group->sgroups[ctrlr->subsys->id]; - assert(sgroup != NULL); - sgroup->io_outstanding--; - ctrlr->aer_req[ctrlr->nr_aer_reqs++] = req; return SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS; }