diff --git a/lib/nvmf/ctrlr.c b/lib/nvmf/ctrlr.c index 52f5ed8a0..c11f3ee82 100644 --- a/lib/nvmf/ctrlr.c +++ b/lib/nvmf/ctrlr.c @@ -403,7 +403,7 @@ _nvmf_ctrlr_destruct(void *ctx) struct spdk_nvmf_reservation_log *log, *log_tmp; nvmf_ctrlr_stop_keep_alive_timer(ctrlr); - + spdk_bit_array_free(&ctrlr->qpair_mask); TAILQ_FOREACH_SAFE(log, &ctrlr->log_head, link, log_tmp) { TAILQ_REMOVE(&ctrlr->log_head, log, link); free(log); diff --git a/lib/nvmf/nvmf.c b/lib/nvmf/nvmf.c index 07c506c4c..ed2145533 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -866,8 +866,6 @@ _nvmf_ctrlr_free_from_qpair(void *ctx) spdk_bit_array_clear(ctrlr->qpair_mask, qpair_ctx->qid); count = spdk_bit_array_count_set(ctrlr->qpair_mask); if (count == 0) { - spdk_bit_array_free(&ctrlr->qpair_mask); - spdk_thread_send_msg(ctrlr->subsys->thread, _nvmf_ctrlr_destruct, ctrlr); }