[ewg] [PATCH] IB/ipath - fix UC receive completion opcode

Ralph Campbell ralph.campbell at qlogic.com
Thu May 15 17:42:15 PDT 2008


Vlad, please pull one small fix for OFED-1.3.1 that has been
submitted and taken for 2.6.26.

git://git.openfabrics.org/~ralphc/linux-2.6/.git ofed_kernel


When I fixed the RC receive completion opcode, I forgot to fix UC
which had the same problem for RDMA write with immediate returning
the wrong opcode.

Signed-off-by: Ralph Campbell <ralph.campbell at qlogic.com>

diff -up a/drivers/infiniband/hw/ipath/ipath_uc.c b/drivers/infiniband/hw/ipath/ipath_uc.c
--- a/drivers/infiniband/hw/ipath/ipath_uc.c	2008-05-15 16:07:53.000000000 -0700
+++ b/drivers/infiniband/hw/ipath/ipath_uc.c	2008-05-15 16:12:23.000000000 -0700
@@ -408,12 +408,11 @@ void ipath_uc_rcv(struct ipath_ibdev *de
 			dev->n_pkt_drops++;
 			goto done;
 		}
-		/* XXX Need to free SGEs */
+		wc.opcode = IB_WC_RECV;
 	last_imm:
 		ipath_copy_sge(&qp->r_sge, data, tlen);
 		wc.wr_id = qp->r_wr_id;
 		wc.status = IB_WC_SUCCESS;
-		wc.opcode = IB_WC_RECV;
 		wc.qp = &qp->ibqp;
 		wc.src_qp = qp->remote_qpn;
 		wc.slid = qp->remote_ah_attr.dlid;
@@ -515,6 +514,7 @@ void ipath_uc_rcv(struct ipath_ibdev *de
 			goto done;
 		}
 		wc.byte_len = qp->r_len;
+		wc.opcode = IB_WC_RECV_RDMA_WITH_IMM;
 		goto last_imm;
 
 	case OP(RDMA_WRITE_LAST):





More information about the ewg mailing list