| From 3741e7fac1de5187906dbd3ee70cfadb3c26a8f3 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 15 Dec 2022 18:03:43 +0100 |
| Subject: RDMA/siw: Fix pointer cast warning |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| [ Upstream commit 5244ca88671a1981ceec09c5c8809f003e6a62aa ] |
| |
| The previous build fix left a remaining issue in configurations with |
| 64-bit dma_addr_t on 32-bit architectures: |
| |
| drivers/infiniband/sw/siw/siw_qp_tx.c: In function 'siw_get_pblpage': |
| drivers/infiniband/sw/siw/siw_qp_tx.c:32:37: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] |
| 32 | return virt_to_page((void *)paddr); |
| | ^ |
| |
| Use the same double cast here that the driver uses elsewhere to convert |
| between dma_addr_t and void*. |
| |
| Fixes: 0d1b756acf60 ("RDMA/siw: Pass a pointer to virt_to_page()") |
| Link: https://lore.kernel.org/r/20221215170347.2612403-1-arnd@kernel.org |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Acked-by: Bernard Metzler <bmt@zurich.ibm.com> |
| Reviewed-by: Linus Walleij <linus.walleij@linaro.org> |
| Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/infiniband/sw/siw/siw_qp_tx.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/infiniband/sw/siw/siw_qp_tx.c b/drivers/infiniband/sw/siw/siw_qp_tx.c |
| index 7d47b521070b..05052b49107f 100644 |
| --- a/drivers/infiniband/sw/siw/siw_qp_tx.c |
| +++ b/drivers/infiniband/sw/siw/siw_qp_tx.c |
| @@ -29,7 +29,7 @@ static struct page *siw_get_pblpage(struct siw_mem *mem, u64 addr, int *idx) |
| dma_addr_t paddr = siw_pbl_get_buffer(pbl, offset, NULL, idx); |
| |
| if (paddr) |
| - return virt_to_page((void *)paddr); |
| + return virt_to_page((void *)(uintptr_t)paddr); |
| |
| return NULL; |
| } |
| -- |
| 2.35.1 |
| |