[openib-general] [PATCH 4/7] libehca: Update to match new ibv_cmd_reg_mr() prototype

Roland Dreier rolandd at cisco.com
Wed Jan 10 14:21:50 PST 2007


ibv_cmd_reg_mr() now takes extra parameters to allow low-level
drivers to pass back a response.  Add a test for the preprocessor
define IBV_CMD_REG_MR_HAS_RESP_PARAMS, and if it exists, have
libehca match the new prototype.

Signed-off-by: Roland Dreier <rolandd at cisco.com>
---
 src/ehca_u_mrmw.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/ehca_u_mrmw.c b/src/ehca_u_mrmw.c
index a10017d..72ffbc6 100644
--- a/src/ehca_u_mrmw.c
+++ b/src/ehca_u_mrmw.c
@@ -65,8 +65,18 @@ struct ibv_mr *ehcau_reg_mr(struct ibv_pd *pd,
 		return NULL;
 	}
 
+#ifdef IBV_CMD_REG_MR_HAS_RESP_PARAMS
+	{
+		struct ibv_reg_mr_resp resp;
+
+		ret = ibv_cmd_reg_mr(pd, addr, length, (u64)(unsigned long)addr,
+				     access, mr, &cmd, sizeof(struct ibv_reg_mr),
+				     &resp, sizeof(struct ibv_reg_mr_resp));
+	}
+#else
 	ret = ibv_cmd_reg_mr(pd, addr, length, (u64)(unsigned long)addr,
 			     access, mr, &cmd, sizeof(struct ibv_reg_mr));
+#endif
 	if (ret) {
 		EDEB_ERR(4, "ibv_cmd_reg_mr ret=%x", ret);
 		free(mr);
-- 
1.4.4.1





More information about the general mailing list