From 5de74d085da88209ba822ed62f4ad00ab24c9689 Mon Sep 17 00:00:00 2001 From: Cunyin Chang Date: Mon, 20 Nov 2017 15:06:52 +0800 Subject: [PATCH] nvmf: Fix the bug when destroy rdma queue pair. We probably do not allocate the mgmt_channel when we destroy the rdma queue pair, add the judgment before put the io channnel. Change-Id: I528c9686907c04c5025ff9d3872f24f2996e9d33 Signed-off-by: Cunyin Chang Reviewed-on: https://review.gerrithub.io/388159 Tested-by: SPDK Automated Test System Reviewed-by: Daniel Verkamp Reviewed-by: Ben Walker --- lib/nvmf/rdma.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index 468424f29..189806828 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -318,7 +318,10 @@ spdk_nvmf_rdma_qpair_destroy(struct spdk_nvmf_rdma_qpair *rdma_qpair) ibv_destroy_cq(rdma_qpair->cq); } - spdk_put_io_channel(rdma_qpair->mgmt_channel); + if (rdma_qpair->mgmt_channel) { + spdk_put_io_channel(rdma_qpair->mgmt_channel); + } + /* Free all memory */ spdk_dma_free(rdma_qpair->cmds); spdk_dma_free(rdma_qpair->cpls);