From a7bcb5d162a09f6241ff575307fbe3f71fce3cee Mon Sep 17 00:00:00 2001 From: shefty Date: Thu, 15 Jan 2009 06:59:53 +0000 Subject: [PATCH] libibverbs: save QP parameters before query ibv_qp_create does not set QP values until after ibv_qp_query has been called to obtain the QPN. However, ibv_qp_query assumes that the values have been set. Signed-off-by: Sean Hefty git-svn-id: svn://openib.tc.cornell.edu/gen1@1827 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- branches/winverbs/ulp/libibverbs/src/verbs.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/branches/winverbs/ulp/libibverbs/src/verbs.cpp b/branches/winverbs/ulp/libibverbs/src/verbs.cpp index e101d12d..992637ac 100644 --- a/branches/winverbs/ulp/libibverbs/src/verbs.cpp +++ b/branches/winverbs/ulp/libibverbs/src/verbs.cpp @@ -676,10 +676,6 @@ struct ibv_qp *ibv_create_qp(struct ibv_pd *pd, } else { qp->conn_handle->QueryInterface(IID_IWVQueuePair, (LPVOID *) &qp->handle); } - hr = ibv_query_qp(qp, &attr, (enum ibv_qp_attr_mask) 0xFFFFFFFF, qp_init_attr); - if (FAILED(hr)) { - goto err; - } qp->context = pd->context; qp->qp_context = qp_init_attr->qp_context; @@ -690,6 +686,12 @@ struct ibv_qp *ibv_create_qp(struct ibv_pd *pd, qp->state = IBV_QPS_RESET; /* qp_num set by ibv_query_qp */ qp->qp_type = qp_init_attr->qp_type; + + hr = ibv_query_qp(qp, &attr, (enum ibv_qp_attr_mask) 0xFFFFFFFF, qp_init_attr); + if (FAILED(hr)) { + goto err; + } + return qp; err: -- 2.46.0