浏览代码

RDMA/nes: Fix for the ORD value of the connecting peer

Set ORD value of the connecting peer to be at least one in order to
accommodate an RDMA READ Request message.

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Signed-off-by: Donald Wood <Donald.E.Wood@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Tatyana Nikolova 13 年之前
父节点
当前提交
d3e5132814
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      drivers/infiniband/hw/nes/nes_cm.c

+ 4 - 0
drivers/infiniband/hw/nes/nes_cm.c

@@ -3320,6 +3320,10 @@ int nes_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
 
 
 	nesqp->private_data_len = conn_param->private_data_len;
 	nesqp->private_data_len = conn_param->private_data_len;
 	nesqp->nesqp_context->ird_ord_sizes |= cpu_to_le32((u32)conn_param->ord);
 	nesqp->nesqp_context->ird_ord_sizes |= cpu_to_le32((u32)conn_param->ord);
+	/* space for rdma0 read msg */
+	if (conn_param->ord == 0)
+		nesqp->nesqp_context->ird_ord_sizes |= cpu_to_le32(1);
+
 	nes_debug(NES_DBG_CM, "requested ord = 0x%08X.\n", (u32)conn_param->ord);
 	nes_debug(NES_DBG_CM, "requested ord = 0x%08X.\n", (u32)conn_param->ord);
 	nes_debug(NES_DBG_CM, "mpa private data len =%u\n",
 	nes_debug(NES_DBG_CM, "mpa private data len =%u\n",
 		  conn_param->private_data_len);
 		  conn_param->private_data_len);