]> git.openfabrics.org - ~shefty/libibverbs.git/commitdiff
Refresh of xrc_qp
authorSean Hefty <sean.hefty@intel.com>
Tue, 18 Sep 2012 04:30:33 +0000 (21:30 -0700)
committerSean Hefty <sean.hefty@intel.com>
Tue, 18 Sep 2012 04:30:33 +0000 (21:30 -0700)
src/cmd.c
src/verbs.c

index 4bbd194495801395e33b4033218554eaa3cc10bd..7dc578a90d35618d77c30d4de3ae32d3c007680f 100644 (file)
--- a/src/cmd.c
+++ b/src/cmd.c
@@ -705,10 +705,15 @@ int ibv_cmd_create_qp(struct ibv_pd *pd,
                      struct ibv_create_qp_resp *resp, size_t resp_size)
 {
        struct ibv_qp_init_attr_ex attr_ex;
+       int ret;
 
-       memcpy(&attr_ex, attr, sizeof attr);
+       memcpy(&attr_ex, attr, sizeof *attr);
        attr_ex.comp_mask = 0;
-       return ibv_cmd_create_qp_ex(pd, qp, &attr_ex, cmd, cmd_size, resp, resp_size);
+       ret = ibv_cmd_create_qp_ex(pd, qp, &attr_ex, cmd, cmd_size, resp, resp_size);
+       if (!ret)
+               memcpy(attr, &attr_ex, sizeof *attr);
+
+       return ret;
 }
 
 int ibv_cmd_query_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr,
index 5eae4bd2ff983cf7087e891bc6f4152b0c25f923..26433022a7cc517344d460c7cf1f1560873a6523 100644 (file)
@@ -515,10 +515,15 @@ struct ibv_qp *__ibv_create_qp(struct ibv_pd *pd,
                               struct ibv_qp_init_attr *qp_init_attr)
 {
        struct ibv_qp_init_attr_ex qp_init_attr_ex;
+       struct ibv_qp *qp;
 
-       memcpy(&qp_init_attr_ex, qp_init_attr, sizeof qp_init_attr);
+       memcpy(&qp_init_attr_ex, qp_init_attr, sizeof *qp_init_attr);
        qp_init_attr_ex.comp_mask = 0;
-       return ibv_create_qp_ex(pd, &qp_init_attr_ex);
+       qp = ibv_create_qp_ex(pd, &qp_init_attr_ex);
+       if (qp)
+               memcpy(qp_init_attr, &qp_init_attr_ex, sizeof *qp_init_attr);
+
+       return qp;
 }
 default_symver(__ibv_create_qp, ibv_create_qp);