mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: pavrampu <pavrampu@linux.ibm.com>
To: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Cc: James.Bottomley@hansenpartnership.com, mkp@kernel.org,
	tyreld@linux.ibm.com, linux-scsi@vger.kernel.org,
	linux-kernel@vger.kernel.org, brking@linux.ibm.com,
	davemarq@linux.ibm.com, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] scsi: ibmvfc: Add Kconfig dependency to fix link failure when NVME_FC=m
Date: Thu, 03 Sep 2026 16:36:40 +0530	[thread overview]
Message-ID: <fabf9740a05f3613e27c326b6764cb27@linux.ibm.com> (raw)
In-Reply-To: <20260903074329.6705-1-venkat88@linux.ibm.com>

On 2026-09-03 13:13, Venkat Rao Bagalkote wrote:
> Building with CONFIG_SCSI_IBMVFC=y and CONFIG_NVME_FC=m results in a
> link failure:
> 
>   ibmvfc-nvme.o: undefined reference to `nvme_fc_register_localport'
>   ibmvfc-nvme.o: undefined reference to `nvme_fc_register_remoteport'
>   ibmvfc-nvme.o: undefined reference to `nvme_fc_unregister_localport'
>   ibmvfc-nvme.o: undefined reference to `nvme_fc_unregister_remoteport'
>   ibmvfc-core.o: undefined reference to `nvme_fc_rescan_remoteport'
> 
> IS_ENABLED() evaluates to 1 for both =y and =m, so the nvme_fc_*
> call sites are kept in the object file. When SCSI_IBMVFC=y (built-in)
> but NVME_FC=m (loadable module), the linker cannot resolve these
> symbols at vmlinux link time.
> 
> Add the same "depends on NVME_FC || NVME_FC=n" constraint already
> used by SCSI_LPFC to prevent this configuration.
> 
> Reported-by: Pavithra <pavrampu@linux.ibm.com>
> Closes:
> https://lore.kernel.org/all/327877a29337aa526cc50ac88fbddb86@linux.ibm.com/
> Signed-off-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
> ---

Hi Venkat,

Tested the patch, compilation issue is not observed with patch.

Logs:
-----
without patch:
:/home/linux-next # make -j 80
   UPD     include/generated/utsversion.h
   CC      init/version-timestamp.o
   KSYMS   .tmp_vmlinux0.kallsyms.S
   AS      .tmp_vmlinux0.kallsyms.o
   LD      .tmp_vmlinux1
/usr/bin/ld.bfd: warning: discarding dynamic section .glink
/usr/bin/ld.bfd: warning: discarding dynamic section .plt
/usr/bin/ld.bfd: linkage table error against 
`nvme_fc_unregister_remoteport'
/usr/bin/ld.bfd: stubs don't match calculated size
/usr/bin/ld.bfd: can not build stubs: bad value
/usr/bin/ld.bfd: drivers/scsi/ibmvscsi/ibmvfc-core.o: in function 
`ibmvfc_rport_add_thread':
ibmvfc-core.c:(.text+0x70dc): undefined reference to 
`nvme_fc_rescan_remoteport'
/usr/bin/ld.bfd: drivers/scsi/ibmvscsi/ibmvfc-nvme.o: in function 
`ibmvfc_nvme_register_remoteport':
ibmvfc-nvme.c:(.text+0x1420): undefined reference to 
`nvme_fc_register_remoteport'
/usr/bin/ld.bfd: drivers/scsi/ibmvscsi/ibmvfc-nvme.o: in function 
`ibmvfc_nvme_unregister_remoteport':
ibmvfc-nvme.c:(.text+0x153c): undefined reference to 
`nvme_fc_unregister_remoteport'
/usr/bin/ld.bfd: drivers/scsi/ibmvscsi/ibmvfc-nvme.o: in function 
`ibmvfc_nvme_register':
ibmvfc-nvme.c:(.text+0x164c): undefined reference to 
`nvme_fc_register_localport'
/usr/bin/ld.bfd: drivers/scsi/ibmvscsi/ibmvfc-nvme.o: in function 
`ibmvfc_nvme_unregister':
ibmvfc-nvme.c:(.text+0x1778): undefined reference to 
`nvme_fc_unregister_localport'
make[2]: *** [scripts/Makefile.vmlinux:72: vmlinux.unstripped] Error 1
make[1]: *** [/home/linux-next/Makefile:1390: vmlinux] Error 2
make: *** [Makefile:248: __sub-make] Error 2

with patch:

:/home/linux-next # patch -p1 < patch
patching file drivers/scsi/Kconfig
:/home/linux-next # make -j 80
   SYNC    include/config/auto.conf
   UPD     include/config/kernel.release
   UPD     include/generated/utsrelease.h
.
.
   COPY    arch/powerpc/boot/fdt_rw.c
   COPY    arch/powerpc/boot/fdt_sw.c
   COPY    arch/powerpc/boot/fdt_wip.c
   BOOTCC  arch/powerpc/boot/libfdt-wrapper.o
   BOOTCC  arch/powerpc/boot/inffast.o
   COPY    arch/powerpc/boot/decompress_inflate.c
   BOOTCC  arch/powerpc/boot/empty.o
   BOOTCC  arch/powerpc/boot/fdt.o
   BOOTCC  arch/powerpc/boot/fdt_ro.o
   BOOTCC  arch/powerpc/boot/fdt_rw.o
   BOOTCC  arch/powerpc/boot/fdt_strerror.o
   BOOTCC  arch/powerpc/boot/fdt_sw.o
   BOOTCC  arch/powerpc/boot/fdt_wip.o
   BOOTCC  arch/powerpc/boot/inflate.o
   BOOTCC  arch/powerpc/boot/inftrees.o
   BOOTCC  arch/powerpc/boot/decompress.o
   BOOTAR  arch/powerpc/boot/wrapper.a
   WRAP    arch/powerpc/boot/zImage.pseries
   WRAP    arch/powerpc/boot/zImage.epapr

Please add below tag:

Tested-by: Pavithra <pavrampu@linux.ibm.com>

Thanks,
Pavithra

>  drivers/scsi/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
> index 4a2af0f702e1..1eec66195cf4 100644
> --- a/drivers/scsi/Kconfig
> +++ b/drivers/scsi/Kconfig
> @@ -753,6 +753,7 @@ config SCSI_IBMVFC
>  	tristate "IBM Virtual FC support"
>  	depends on PPC_PSERIES && SCSI
>  	depends on SCSI_FC_ATTRS
> +	depends on NVME_FC || NVME_FC=n
>  	help
>  	  This is the IBM POWER Virtual FC Client


  reply	other threads:[~2026-09-03 11:06 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-03  7:43 Venkat Rao Bagalkote
2026-09-03 11:06 ` pavrampu [this message]
2026-09-03 16:57 ` Tyrel Datwyler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fabf9740a05f3613e27c326b6764cb27@linux.ibm.com \
    --to=pavrampu@linux.ibm.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=brking@linux.ibm.com \
    --cc=davemarq@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mkp@kernel.org \
    --cc=tyreld@linux.ibm.com \
    --cc=venkat88@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®