All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] scsi: fnic: Fix built-in NVMe/FC build
@ 2026-08-10 11:06 Karan Tilak Kumar
  2026-08-11  1:26 ` Martin K. Petersen (Oracle)
  0 siblings, 1 reply; 2+ messages in thread
From: Karan Tilak Kumar @ 2026-08-10 11:06 UTC (permalink / raw)
  To: sebaddel
  Cc: arulponn, djhawar, gcboffa, mkai2, satishkh, aeasi,
	martin.petersen, linux-scsi, linux-kernel, jmeneghi, revers,
	adakopou, lduncan, Karan Tilak Kumar, kernel test robot

The fnic NVMe/FC code is guarded with IS_ENABLED(CONFIG_NVME_FC).
That also evaluates true when NVME_FC is built as a module.

When fnic is built into vmlinux and NVME_FC=m, fnic_nvme.o still
references the NVMe/FC transport helpers even though those helpers are
not reachable from built-in code. The final vmlinux link then fails with
undefined nvme_fc_* symbols.

Use IS_REACHABLE(CONFIG_NVME_FC) for the fnic NVMe/FC implementation and
prototypes so built-in fnic uses the disabled stubs unless the NVMe/FC
transport is reachable.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202608092246.XZe7Hlrt-lkp@intel.com/
Reviewed-by: Sesidhar Baddela <sebaddel@cisco.com>
Reviewed-by: Arulprabhu Ponnusamy <arulponn@cisco.com>
Reviewed-by: Gian Carlo Boffa <gcboffa@cisco.com>
Reviewed-by: Arun Easi <aeasi@cisco.com>
Signed-off-by: Karan Tilak Kumar <kartilak@cisco.com>
---
 drivers/scsi/fnic/fnic_nvme.c | 2 +-
 drivers/scsi/fnic/fnic_nvme.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/fnic/fnic_nvme.c b/drivers/scsi/fnic/fnic_nvme.c
index 8794360f2adf..b237948dcafd 100644
--- a/drivers/scsi/fnic/fnic_nvme.c
+++ b/drivers/scsi/fnic/fnic_nvme.c
@@ -22,7 +22,7 @@
 #include "fnic_trace.h"
 #include "fdls_fc.h"
 
-#if IS_ENABLED(CONFIG_NVME_FC)
+#if IS_REACHABLE(CONFIG_NVME_FC)
 
 static bool nvfnic_ls_req_cleanup(struct fnic_iport_s *iport,
 				  struct nvmefc_ls_req *lsreq,
diff --git a/drivers/scsi/fnic/fnic_nvme.h b/drivers/scsi/fnic/fnic_nvme.h
index 5e897908337c..c05908b68e36 100644
--- a/drivers/scsi/fnic/fnic_nvme.h
+++ b/drivers/scsi/fnic/fnic_nvme.h
@@ -61,7 +61,7 @@ struct nvfnic_ls_req {
 	unsigned int flags;
 };
 
-#if IS_ENABLED(CONFIG_NVME_FC)
+#if IS_REACHABLE(CONFIG_NVME_FC)
 int nvfnic_nvme_io_done_handler(void *arg);
 struct fnic_io_req *nvfnic_find_io_req_by_tag(struct fnic *fnic, uint16_t tag);
 void nvfnic_reset_fcpio_tag_pool(struct fnic_iport_s *iport);
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] scsi: fnic: Fix built-in NVMe/FC build
  2026-08-10 11:06 [PATCH] scsi: fnic: Fix built-in NVMe/FC build Karan Tilak Kumar
@ 2026-08-11  1:26 ` Martin K. Petersen (Oracle)
  0 siblings, 0 replies; 2+ messages in thread
From: Martin K. Petersen (Oracle) @ 2026-08-11  1:26 UTC (permalink / raw)
  To: Karan Tilak Kumar
  Cc: sebaddel, arulponn, djhawar, gcboffa, mkai2, satishkh, aeasi,
	martin.petersen, linux-scsi, linux-kernel, jmeneghi, revers,
	adakopou, lduncan, kernel test robot


Karan,

> The fnic NVMe/FC code is guarded with IS_ENABLED(CONFIG_NVME_FC).
> That also evaluates true when NVME_FC is built as a module.

Applied to 7.3/scsi-staging, thanks!

-- 
Martin K. Petersen

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-08-11  1:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-10 11:06 [PATCH] scsi: fnic: Fix built-in NVMe/FC build Karan Tilak Kumar
2026-08-11  1:26 ` Martin K. Petersen (Oracle)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.