From adfec326b63f49997c63f2d79b1bbfef617060f9 Mon Sep 17 00:00:00 2001 From: Changpeng Liu Date: Thu, 11 Mar 2021 20:58:41 +0800 Subject: [PATCH] nvmf/vfio-user: handle connect response error correctly The error response should be processed at the beginning of this function. Change-Id: Id583951c82981cf58984ab68b23ad6f7ea80cd3f Signed-off-by: Changpeng Liu Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6859 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Reviewed-by: Ben Walker --- lib/nvmf/vfio_user.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/nvmf/vfio_user.c b/lib/nvmf/vfio_user.c index 7fbd650e1..9e921d550 100644 --- a/lib/nvmf/vfio_user.c +++ b/lib/nvmf/vfio_user.c @@ -1811,10 +1811,6 @@ handle_queue_connect_rsp(struct nvmf_vfio_user_req *req, void *cb_arg) assert(qpair != NULL); assert(req != NULL); - vu_group = SPDK_CONTAINEROF(qpair->group, struct nvmf_vfio_user_poll_group, group); - TAILQ_INSERT_TAIL(&vu_group->qps, qpair, link); - qpair->state = VFIO_USER_QPAIR_ACTIVE; - ctrlr = qpair->ctrlr; assert(ctrlr != NULL); @@ -1825,6 +1821,10 @@ handle_queue_connect_rsp(struct nvmf_vfio_user_req *req, void *cb_arg) return -1; } + vu_group = SPDK_CONTAINEROF(qpair->group, struct nvmf_vfio_user_poll_group, group); + TAILQ_INSERT_TAIL(&vu_group->qps, qpair, link); + qpair->state = VFIO_USER_QPAIR_ACTIVE; + if (nvmf_qpair_is_admin_queue(&qpair->qpair)) { ctrlr->cntlid = qpair->qpair.ctrlr->cntlid; ctrlr->ready = true;