In order to allow the ndrping to work also with RDMA reads, the following fix 
is needed.

This patch should also be applied to the branch.

Thanks
Tzachi

Index: hw/mlx4/user/hca/cq.c
===================================================================
--- hw/mlx4/user/hca/cq.c (revision 5646)
+++ hw/mlx4/user/hca/cq.c (working copy)
@@ -130,7 +130,7 @@
   printf(PFX "local QP operation err "
          "(QPN %06x, WQE index %x, vendor syndrome %02x, "
          "opcode = %02x)\n",
-         htonl(cqe->my_qpn), htonl(cqe->wqe_index),
+         htonl(cqe->my_qpn), htons(cqe->wqe_index),
          cqe->vendor_err,
          cqe->owner_sr_opcode & ~MLX4_CQE_OWNER_MASK);

Index: ulp/nd/user/NdEndpoint.cpp
===================================================================
--- ulp/nd/user/NdEndpoint.cpp (revision 5646)
+++ ulp/nd/user/NdEndpoint.cpp (working copy)
@@ -686,10 +686,10 @@
     wr.p_next = NULL;
     wr.wr_id = (ULONG_PTR)pResult;
     wr.wr_type = Type;
-    if ( pResult->BytesTransferred <= m_MaxInlineSize )
-     wr.send_opt = IB_SEND_OPT_INLINE;
- else
-     wr.send_opt = 0;
+    if ( (pResult->BytesTransferred <= m_MaxInlineSize) && Type != 
WR_RDMA_READ)
+        wr.send_opt = IB_SEND_OPT_INLINE;
+    else
+        wr.send_opt = 0;
     if( !(Flags & ND_OP_FLAG_SILENT_SUCCESS) )
         wr.send_opt |= IB_SEND_OPT_SIGNALED;
     if( Flags & ND_OP_FLAG_READ_FENCE )

Attachment: inline.diff
Description: inline.diff

_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to