diff --git a/lib/nvme/nvme_ctrlr.c b/lib/nvme/nvme_ctrlr.c index 8dc3a339b..65248dbcd 100644 --- a/lib/nvme/nvme_ctrlr.c +++ b/lib/nvme/nvme_ctrlr.c @@ -3192,14 +3192,12 @@ nvme_ctrlr_configure_aer_done(void *arg, const struct spdk_nvme_cpl *cpl) if (spdk_nvme_cpl_is_error(cpl)) { NVME_CTRLR_NOTICELOG(ctrlr, "nvme_ctrlr_configure_aer failed!\n"); - nvme_ctrlr_set_state(ctrlr, NVME_CTRLR_STATE_SET_SUPPORTED_LOG_PAGES, - ctrlr->opts.admin_timeout_ms); - return; + ctrlr->num_aers = 0; + } else { + /* aerl is a zero-based value, so we need to add 1 here. */ + ctrlr->num_aers = spdk_min(NVME_MAX_ASYNC_EVENTS, (ctrlr->cdata.aerl + 1)); } - /* aerl is a zero-based value, so we need to add 1 here. */ - ctrlr->num_aers = spdk_min(NVME_MAX_ASYNC_EVENTS, (ctrlr->cdata.aerl + 1)); - for (i = 0; i < ctrlr->num_aers; i++) { aer = &ctrlr->aer[i]; rc = nvme_ctrlr_construct_and_submit_aer(ctrlr, aer);