From cb1c3fae988895197043529a53acc2decdac36ed Mon Sep 17 00:00:00 2001 From: Ziye Yang Date: Mon, 24 Dec 2018 17:13:54 +0800 Subject: [PATCH] nvmf/rdma: fix the coredump issue when ctrlr + c target When the host connects the target and does the io related job, if we use ctrlr + c, it will be crash. The issue is that we found the rqpair->qpair.group is NULL. Change-Id: Id36cfac2be9abc707bf75a2e1ddb3f414610b6f1 Signed-off-by: Ziye Yang Reviewed-on: https://review.gerrithub.io/c/437232 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto --- lib/nvmf/rdma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index 6cf681a7a..5a44696ee 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -2250,7 +2250,7 @@ spdk_nvmf_process_ib_event(struct spdk_nvmf_rdma_device *device) (uintptr_t)rqpair->cm_id, event.event_type); spdk_nvmf_rdma_update_ibv_state(rqpair); spdk_nvmf_rdma_qpair_inc_refcnt(rqpair); - spdk_thread_send_msg(rqpair->qpair.group->thread, _nvmf_rdma_qpair_disconnect, &rqpair->qpair); + _nvmf_rdma_disconnect_retry(&rqpair->qpair); break; case IBV_EVENT_QP_LAST_WQE_REACHED: /* This event only occurs for shared receive queues, which are not currently supported. */ @@ -2267,7 +2267,7 @@ spdk_nvmf_process_ib_event(struct spdk_nvmf_rdma_device *device) state = spdk_nvmf_rdma_update_ibv_state(rqpair); if (state == IBV_QPS_ERR) { spdk_nvmf_rdma_qpair_inc_refcnt(rqpair); - spdk_thread_send_msg(rqpair->qpair.group->thread, _nvmf_rdma_qpair_disconnect, &rqpair->qpair); + _nvmf_rdma_disconnect_retry(&rqpair->qpair); } break; case IBV_EVENT_QP_REQ_ERR: