On Sun, Jan 3, 2021 at 5:51 PM James Bottomley <jejb@xxxxxxxxxxxxx> wrote: > On Sun, 2021-01-03 at 15:01 +0100, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@xxxxxxxx> > > > > A previous patch tried to avoid a build failure, but missed one case > > that Kconfig warns about: > > > > WARNING: unmet direct dependencies detected for CHELSIO_T4 > > Depends on [m]: NETDEVICES [=y] && ETHERNET [=y] && > > NET_VENDOR_CHELSIO [=y] && PCI [=y] && (IPV6 [=y] || IPV6 [=y]=n) && > > (TLS [=m] || TLS [=m]=n) > > Selected by [y]: > > - SCSI_CXGB4_ISCSI [=y] && SCSI_LOWLEVEL [=y] && SCSI [=y] && PCI > > [=y] && INET [=y] && (IPV6 [=y] || IPV6 [=y]=n) && ETHERNET [=y] > > x86_64-linux-ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o: in > > function `cxgb_select_queue': > > cxgb4_main.c:(.text+0xf5df): undefined reference to > > `tls_validate_xmit_skb' > > > > When any of the dependencies of CHELSIO_T4 are not met, then > > SCSI_CXGB4_ISCSI must not 'select' it either. > > > > Fix it by mirroring the network driver dependencies on the iscsi > > driver. A more invasive but also more reliable alternative would > > be to use 'depends on CHELSIO_T4' instead. > > > > Fixes: 659fbdcf2f14 ("cxgb4: Fix build failure when CONFIG_TLS=m") > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > > --- > > drivers/scsi/cxgbi/cxgb4i/Kconfig | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/scsi/cxgbi/cxgb4i/Kconfig > > b/drivers/scsi/cxgbi/cxgb4i/Kconfig > > index 8b0deece9758..2af88a55fbca 100644 > > --- a/drivers/scsi/cxgbi/cxgb4i/Kconfig > > +++ b/drivers/scsi/cxgbi/cxgb4i/Kconfig > > @@ -1,7 +1,7 @@ > > # SPDX-License-Identifier: GPL-2.0-only > > config SCSI_CXGB4_ISCSI > > tristate "Chelsio T4 iSCSI support" > > - depends on PCI && INET && (IPV6 || IPV6=n) > > + depends on PCI && INET && (IPV6 || IPV6=n) && (TLS || TLS=n) > > depends on THERMAL || !THERMAL > > depends on ETHERNET > > depends on TLS || TLS=n > > I thought all separated depends statements were the equivalent of && in > a single statement. If so, how does repeating TLS || TLS=n twice fix > the problem? This sounds more like we have some sort of bug in our > Kconfig apparatus. No, just a mistake on my end. I had tried v5.10-rc1 to make sure the patch was still required, but then rebased on top of torvalds/master (close to -rc2) before sending it out, and this contains Randy's version of the same patch, cb5253198f10 ("scsi: cxgb4i: Fix TLS dependency"). Arnd