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: 89e7d2ba61b7 ("net/ism: Add new API for client registration") Reported-by: Randy Dunlap <rdunlap@infradead.org> Closes: https://lore.kernel.org/linux-next/d53b5b50-d894-4df8-8969-fd39e63440ae@infradead.org/ Co-developed-by: Wenjia Zhang <wenjia@linux.ibm.com> Signed-off-by: Wenjia Zhang <wenjia@linux.ibm.com> Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com> Reviewed-by: Simon Horman <horms@kernel.org> Tested-by: Simon Horman <horms@kernel.org> # build-tested Acked-by: Randy 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: Paolo Abeni <pabeni@redhat.com>
23 lines
668 B
Plaintext
23 lines
668 B
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
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
|
|
AF_INET TCP connections transparently.
|
|
The Linux implementation of the SMC-R solution is designed as
|
|
a separate socket family SMC.
|
|
|
|
Select this option if you want to run SMC socket applications
|
|
|
|
config SMC_DIAG
|
|
tristate "SMC: socket monitoring interface"
|
|
depends on SMC
|
|
help
|
|
Support for SMC socket monitoring interface used by tools such as
|
|
smcss.
|
|
|
|
if unsure, say Y.
|