diff options
-rw-r--r-- | drivers/infiniband/hw/cxgb3/iwch_qp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/cxgb3/iwch_qp.c b/drivers/infiniband/hw/cxgb3/iwch_qp.c index c84ac5bfb107..0e18f6fc23e2 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_qp.c +++ b/drivers/infiniband/hw/cxgb3/iwch_qp.c | |||
@@ -263,8 +263,8 @@ static int build_rdma_recv(struct iwch_qp *qhp, union t3_wr *wqe, | |||
263 | wqe->recv.sgl[i].len = cpu_to_be32(wr->sg_list[i].length); | 263 | wqe->recv.sgl[i].len = cpu_to_be32(wr->sg_list[i].length); |
264 | 264 | ||
265 | /* to in the WQE == the offset into the page */ | 265 | /* to in the WQE == the offset into the page */ |
266 | wqe->recv.sgl[i].to = cpu_to_be64(((u32) wr->sg_list[i].addr) % | 266 | wqe->recv.sgl[i].to = cpu_to_be64(((u32)wr->sg_list[i].addr) & |
267 | (1UL << (12 + page_size[i]))); | 267 | ((1UL << (12 + page_size[i])) - 1)); |
268 | 268 | ||
269 | /* pbl_addr is the adapters address in the PBL */ | 269 | /* pbl_addr is the adapters address in the PBL */ |
270 | wqe->recv.pbl_addr[i] = cpu_to_be32(pbl_addr[i]); | 270 | wqe->recv.pbl_addr[i] = cpu_to_be32(pbl_addr[i]); |