* [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.