xprtrdma: Do not truncate iova_start values in frmr registrations.
A bad cast causes the iova_start, which in this case is a 64b DMA bus address, to be truncated on 32b systems. This breaks frmrs on 32b systems. No cast is needed. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
5d7ca35a18
commit
7a8b80eb38
|
@ -1490,7 +1490,7 @@ rpcrdma_register_frmr_external(struct rpcrdma_mr_seg *seg,
|
|||
memset(&frmr_wr, 0, sizeof frmr_wr);
|
||||
frmr_wr.opcode = IB_WR_FAST_REG_MR;
|
||||
frmr_wr.send_flags = 0; /* unsignaled */
|
||||
frmr_wr.wr.fast_reg.iova_start = (unsigned long)seg1->mr_dma;
|
||||
frmr_wr.wr.fast_reg.iova_start = seg1->mr_dma;
|
||||
frmr_wr.wr.fast_reg.page_list = seg1->mr_chunk.rl_mw->r.frmr.fr_pgl;
|
||||
frmr_wr.wr.fast_reg.page_list_len = i;
|
||||
frmr_wr.wr.fast_reg.page_shift = PAGE_SHIFT;
|
||||
|
|
Loading…
Reference in New Issue