On Wed, Jun 10, 2020 at 12:47:17PM -0500, Tom Seewald wrote: > The variable buf_addr is type dma_addr_t, which may not be the same size > as a pointer. To ensure it is the correct size, cast to a uintptr_t. > > Signed-off-by: Tom Seewald <tseewald@xxxxxxxxx> > drivers/infiniband/sw/siw/siw_qp_rx.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/infiniband/sw/siw/siw_qp_rx.c b/drivers/infiniband/sw/siw/siw_qp_rx.c > index 650520244ed0..7271d705f4b0 100644 > +++ b/drivers/infiniband/sw/siw/siw_qp_rx.c > @@ -139,7 +139,8 @@ static int siw_rx_pbl(struct siw_rx_stream *srx, int *pbl_idx, > break; > > bytes = min(bytes, len); > - if (siw_rx_kva(srx, (void *)buf_addr, bytes) == bytes) { > + if (siw_rx_kva(srx, (void *)(uintptr_t)buf_addr, bytes) == > + bytes) { How is a dma_addr_t being cast to a void *? That can't be right? Bernard?? Jason