]> git.openfabrics.org - ~shefty/libibverbs.git/commitdiff
refresh (create temporary patch)
authorSean Hefty <sean.hefty@intel.com>
Fri, 28 Sep 2012 16:32:44 +0000 (09:32 -0700)
committerSean Hefty <sean.hefty@intel.com>
Fri, 28 Sep 2012 16:32:44 +0000 (09:32 -0700)
meta
patches/refresh-temp [new file with mode: 0644]

diff --git a/meta b/meta
index 742f7f2285f16abf8b9a22357dc3bf792e55e66b..84cd45276caf97cc0ff5239635ea5e3cadbeb9d8 100644 (file)
--- a/meta
+++ b/meta
@@ -1,10 +1,11 @@
 Version: 1
-Previous: 6a97f229fad3035f8cdd0d5a1b059fd75af74ffd
-Head: 8455fcb067d1c06a5477cc9c1a90b498b39f60e6
+Previous: 39832d00b7f1720ee1d06935ffb1951e31f7f8b1
+Head: a56d28f70fb5774b67cf30b870a44cfac6180378
 Applied:
   verbs-ext: 6f5bd9320736c14a35405d30b5bcda552c0a9bc3
   xrcd: b4857ddf1a0837fff54f81be34a1464e9239de0e
   srq_ex: 8455fcb067d1c06a5477cc9c1a90b498b39f60e6
+  refresh-temp: a56d28f70fb5774b67cf30b870a44cfac6180378
 Unapplied:
   xrc_qp: ea51cb7217272757132db0c3a824214b4ee7901d
   open_qp: 6879b6122f8020f5defafa829507258bde55d00d
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..69d09ee
--- /dev/null
@@ -0,0 +1,42 @@
+Bottom: e3951de5404ebe328b74eca777759390793e2b6b
+Top:    2524e29d2e369a9ff026f617bd9b1d60640fa84f
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2012-09-28 09:32:44 -0700
+
+Refresh of srq_ex
+
+---
+
+diff --git a/include/infiniband/verbs.h b/include/infiniband/verbs.h
+index 82e8da9..47ec63c 100644
+--- a/include/infiniband/verbs.h
++++ b/include/infiniband/verbs.h
+@@ -432,7 +432,7 @@ struct ibv_srq_init_attr_ex {
+       void                   *srq_context;
+       struct ibv_srq_attr     attr;
+-      uint64_t                comp_mask;
++      uint32_t                comp_mask;
+       enum ibv_srq_type       srq_type;
+       struct ibv_pd          *pd;
+       struct ibv_xrcd        *xrcd;
+@@ -1052,8 +1052,17 @@ static inline struct ibv_srq *
+ ibv_create_srq_ex(struct ibv_context *context,
+                 struct ibv_srq_init_attr_ex *srq_init_attr_ex)
+ {
+-      struct verbs_context *vctx = verbs_get_ctx_op(context, create_srq_ex);
+-      if (!vctx) {
++      struct verbs_context *vctx;
++      uint64_t mask = srq_init_attr_ex->comp_mask;
++
++      if (!(mask & ~(IBV_SRQ_INIT_ATTR_PD | IBV_SRQ_INIT_ATTR_TYPE)) &&
++          (mask & IBV_SRQ_INIT_ATTR_PD) &&
++          (!(mask & IBV_SRQ_INIT_ATTR_TYPE) ||
++           (srq_init_attr_ex->srq_type == IBV_SRQT_BASIC)))
++              return ibv_create_srq(srq_init_attr_ex->pd,
++                                    (struct ibv_srq_init_attr *) srq_init_attr_ex);
++
++      if (!(vctx = verbs_get_ctx_op(context, create_srq_ex))) {
+               errno = ENOSYS;
+               return NULL;
+       }