From defa04acd44cbb581fc9393d7703b5dfdf44d839 Mon Sep 17 00:00:00 2001 From: Jason Gunthorpe Date: Fri, 22 Oct 2010 22:00:48 +0000 Subject: [PATCH] --- yaml --- r: 217757 b: refs/heads/master c: 5715f5d44b93507693feca6c62290e123e5ef688 h: refs/heads/master i: 217755: dd714ddfea1656fb5895434c2d515b6d75f67b7a v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/hw/qib/qib_rc.c | 5 ++++- trunk/drivers/infiniband/hw/qib/qib_uc.c | 6 ++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 1f3cdae783ed..b51da369ec2b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0f2f930a67c763a71aacfdbc76de9a76de7d1a9e +refs/heads/master: 5715f5d44b93507693feca6c62290e123e5ef688 diff --git a/trunk/drivers/infiniband/hw/qib/qib_rc.c b/trunk/drivers/infiniband/hw/qib/qib_rc.c index a0931119bd78..955fb7157793 100644 --- a/trunk/drivers/infiniband/hw/qib/qib_rc.c +++ b/trunk/drivers/infiniband/hw/qib/qib_rc.c @@ -2068,7 +2068,10 @@ void qib_rc_rcv(struct qib_ctxtdata *rcd, struct qib_ib_header *hdr, goto nack_op_err; if (!ret) goto rnr_nak; - goto send_last_imm; + wc.ex.imm_data = ohdr->u.rc.imm_data; + hdrsize += 4; + wc.wc_flags = IB_WC_WITH_IMM; + goto send_last; case OP(RDMA_READ_REQUEST): { struct qib_ack_entry *e; diff --git a/trunk/drivers/infiniband/hw/qib/qib_uc.c b/trunk/drivers/infiniband/hw/qib/qib_uc.c index b9c8b6346c1b..32ccf3c824ca 100644 --- a/trunk/drivers/infiniband/hw/qib/qib_uc.c +++ b/trunk/drivers/infiniband/hw/qib/qib_uc.c @@ -457,8 +457,10 @@ void qib_uc_rcv(struct qib_ibport *ibp, struct qib_ib_header *hdr, } if (opcode == OP(RDMA_WRITE_ONLY)) goto rdma_last; - else if (opcode == OP(RDMA_WRITE_ONLY_WITH_IMMEDIATE)) + else if (opcode == OP(RDMA_WRITE_ONLY_WITH_IMMEDIATE)) { + wc.ex.imm_data = ohdr->u.rc.imm_data; goto rdma_last_imm; + } /* FALLTHROUGH */ case OP(RDMA_WRITE_MIDDLE): /* Check for invalid length PMTU or posted rwqe len. */ @@ -471,8 +473,8 @@ void qib_uc_rcv(struct qib_ibport *ibp, struct qib_ib_header *hdr, break; case OP(RDMA_WRITE_LAST_WITH_IMMEDIATE): -rdma_last_imm: wc.ex.imm_data = ohdr->u.imm_data; +rdma_last_imm: hdrsize += 4; wc.wc_flags = IB_WC_WITH_IMM;