Commit a72178cf authored by Gerd Bayer's avatar Gerd Bayer Committed by Paolo Abeni
Browse files

net/smc: Fix dependency of SMC on ISM



When the SMC protocol is built into the kernel proper while ISM is
configured to be built as module, linking the kernel fails due to
unresolved dependencies out of net/smc/smc_ism.o to
ism_get_smcd_ops, ism_register_client, and ism_unregister_client
as reported via the linux-next test automation (see link).
This however is a bug introduced a while ago.

Correct the dependency list in ISM's and SMC's Kconfig to reflect the
dependencies that are actually inverted. With this you cannot build a
kernel with CONFIG_SMC=y and CONFIG_ISM=m. Either ISM needs to be 'y',
too - or a 'n'. That way, SMC can still be configured on non-s390
architectures that do not have (nor need) an ISM driver.

Fixes: 89e7d2ba ("net/ism: Add new API for client registration")
Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Closes: https://lore.kernel.org/linux-next/d53b5b50-d894-4df8-8969-fd39e63440ae@infradead.org/


Co-developed-by: default avatarWenjia Zhang <wenjia@linux.ibm.com>
Signed-off-by: default avatarWenjia Zhang <wenjia@linux.ibm.com>
Signed-off-by: default avatarGerd Bayer <gbayer@linux.ibm.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Tested-by: Simon Horman <horms@kernel.org> # build-tested
Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Link: https://lore.kernel.org/r/20231006125847.1517840-1-gbayer@linux.ibm.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 7b5add9a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ config CCWGROUP

config ISM
	tristate "Support for ISM vPCI Adapter"
	depends on PCI && SMC
	depends on PCI
	default n
	help
	  Select this option if you want to use the Internal Shared Memory
+1 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
config SMC
	tristate "SMC socket protocol family"
	depends on INET && INFINIBAND
	depends on m || ISM != m
	help
	  SMC-R provides a "sockets over RDMA" solution making use of
	  RDMA over Converged Ethernet (RoCE) technology to upgrade