On Wed, Jul 10, 2019 at 03:39:30PM +0200, Geert Uytterhoeven wrote: > If LIBCRC32C and DMA_VIRT_OPS are not enabled: > > drivers/infiniband/sw/siw/siw_main.o: In function `siw_newlink': > siw_main.c:(.text+0x35c): undefined reference to `dma_virt_ops' > drivers/infiniband/sw/siw/siw_qp_rx.o: In function `siw_csum_update': > siw_qp_rx.c:(.text+0x16): undefined reference to `crc32c' > > Fix the first issue by adding a select of DMA_VIRT_OPS. > Fix the second issue by replacing the unneeded dependency on > CRYPTO_CRC32 by a dependency on LIBCRC32C. > > Reported-by: noreply@xxxxxxxxxxxxxx (first issue) > Fixes: c0cf5bdde46c664d ("rdma/siw: addition to kernel build environment") > Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> > drivers/infiniband/sw/siw/Kconfig | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/infiniband/sw/siw/Kconfig b/drivers/infiniband/sw/siw/Kconfig > index 94f684174ce3556e..b622fc62f2cd6d46 100644 > +++ b/drivers/infiniband/sw/siw/Kconfig > @@ -1,6 +1,7 @@ > config RDMA_SIW > tristate "Software RDMA over TCP/IP (iWARP) driver" > - depends on INET && INFINIBAND && CRYPTO_CRC32 > + depends on INET && INFINIBAND && LIBCRC32C Is this the best practice? siw is using both the libcrc32c API and the 'crypto_alloc_shash("crc32c", 0, 0);' version. Is it right to get that transitively through LIBCRC32C? Jason