IB: Fix RDMA_RXE and INFINIBAND_RDMAVT dependencies for DMA_VIRT_OPS
authorBen Hutchings <ben@decadent.org.uk>
Wed, 9 May 2018 21:48:41 +0000 (22:48 +0100)
committerDoug Ledford <dledford@redhat.com>
Tue, 15 May 2018 14:48:16 +0000 (10:48 -0400)
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>
drivers/infiniband/sw/rdmavt/Kconfig
drivers/infiniband/sw/rxe/Kconfig

index 2b5513d..98e7980 100644 (file)
@@ -1,6 +1,6 @@
 config INFINIBAND_RDMAVT
        tristate "RDMA verbs transport library"
-       depends on 64BIT
+       depends on 64BIT && ARCH_DMA_ADDR_T_64BIT
        depends on PCI
        select DMA_VIRT_OPS
        ---help---
index bad4a57..67ae960 100644 (file)
@@ -1,6 +1,7 @@
 config RDMA_RXE
        tristate "Software RDMA over Ethernet (RoCE) driver"
        depends on INET && PCI && INFINIBAND
+       depends on !64BIT || ARCH_DMA_ADDR_T_64BIT
        select NET_UDP_TUNNEL
        select CRYPTO_CRC32
        select DMA_VIRT_OPS