Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

IB: Fix RDMA_RXE and INFINIBAND_RDMAVT dependencies for DMA_VIRT_OPS

DMA_VIRT_OPS requires that dma_addr_t is at least as wide as a
pointer, which is expressed as a dependency on !64BIT ||
ARCH_DMA_ADDR_T_64BIT.

For parisc64 this is not true, and if these IB modules are enabled,
kconfig warns:

WARNING: unmet direct dependencies detected for DMA_VIRT_OPS
Depends on [n]: HAS_DMA [=y] && (!64BIT [=y] || ARCH_DMA_ADDR_T_64BIT)
Selected by [m]:
- INFINIBAND_RDMAVT [=m] && INFINIBAND [=m] && 64BIT [=y] && PCI [=y]
- RDMA_RXE [=m] && INET [=y] && PCI [=y] && INFINIBAND [=m]

Add dependencies to fix this.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Doug Ledford <dledford@redhat.com>

authored by

Ben Hutchings and committed by
Doug Ledford
e02637e9 f4fc6e04

+2 -1
+1 -1
drivers/infiniband/sw/rdmavt/Kconfig
··· 1 1 config INFINIBAND_RDMAVT 2 2 tristate "RDMA verbs transport library" 3 - depends on 64BIT 3 + depends on 64BIT && ARCH_DMA_ADDR_T_64BIT 4 4 depends on PCI 5 5 select DMA_VIRT_OPS 6 6 ---help---
+1
drivers/infiniband/sw/rxe/Kconfig
··· 1 1 config RDMA_RXE 2 2 tristate "Software RDMA over Ethernet (RoCE) driver" 3 3 depends on INET && PCI && INFINIBAND 4 + depends on !64BIT || ARCH_DMA_ADDR_T_64BIT 4 5 select NET_UDP_TUNNEL 5 6 select CRYPTO_CRC32 6 7 select DMA_VIRT_OPS