Commit d76951c7 authored by Jin Yu's avatar Jin Yu Committed by Tomasz Zawadzki
Browse files

nvme_rdma: fix the recvs_to_post.first to NULL



nvme_rdma_qpair_submit_recvs is not judged in
nvme_rdma_poll_group_process_completions path.
If we do not clean the recvs_to_post.first we
may get the wrong current_num_recvs when the rc
is non-zero and call it again.

Change-Id: If0046e711525dcfcb419132a01fed7a09db13ba0
Signed-off-by: default avatarJin Yu <jin.yu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3163


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatar <dongx.yi@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
parent 05805e54
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -667,7 +667,7 @@ static inline int
nvme_rdma_qpair_submit_recvs(struct nvme_rdma_qpair *rqpair)
{
	struct ibv_recv_wr *bad_recv_wr;
	int rc;
	int rc = 0;

	if (rqpair->recvs_to_post.first) {
		rc = ibv_post_recv(rqpair->rdma_qp->qp, rqpair->recvs_to_post.first, &bad_recv_wr);
@@ -679,12 +679,11 @@ nvme_rdma_qpair_submit_recvs(struct nvme_rdma_qpair *rqpair)
				rqpair->current_num_recvs--;
				bad_recv_wr = bad_recv_wr->next;
			}
			return rc;
		}

		rqpair->recvs_to_post.first = NULL;
	}
	return 0;
	return rc;
}

/* Append the given send wr structure to the qpair's outstanding sends list. */