From: Roland Dreier When posting a work request with immediate data, put the immediate data in the immediate data field of the hardware's work request (rather than overwriting the flags field). Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton --- 25-akpm/drivers/infiniband/hw/mthca/mthca_qp.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/infiniband/hw/mthca/mthca_qp.c~ib-mthca-fix-posting-sends-with-immediate-data drivers/infiniband/hw/mthca/mthca_qp.c --- 25/drivers/infiniband/hw/mthca/mthca_qp.c~ib-mthca-fix-posting-sends-with-immediate-data Fri Apr 1 14:13:56 2005 +++ 25-akpm/drivers/infiniband/hw/mthca/mthca_qp.c Fri Apr 1 14:13:56 2005 @@ -1465,7 +1465,7 @@ int mthca_tavor_post_send(struct ib_qp * cpu_to_be32(1); if (wr->opcode == IB_WR_SEND_WITH_IMM || wr->opcode == IB_WR_RDMA_WRITE_WITH_IMM) - ((struct mthca_next_seg *) wqe)->flags = wr->imm_data; + ((struct mthca_next_seg *) wqe)->imm = wr->imm_data; wqe += sizeof (struct mthca_next_seg); size = sizeof (struct mthca_next_seg) / 16; @@ -1769,7 +1769,7 @@ int mthca_arbel_post_send(struct ib_qp * cpu_to_be32(1); if (wr->opcode == IB_WR_SEND_WITH_IMM || wr->opcode == IB_WR_RDMA_WRITE_WITH_IMM) - ((struct mthca_next_seg *) wqe)->flags = wr->imm_data; + ((struct mthca_next_seg *) wqe)->imm = wr->imm_data; wqe += sizeof (struct mthca_next_seg); size = sizeof (struct mthca_next_seg) / 16; _