|
Daniel Wagner |
fc3d78 |
From: James Smart <jsmart2021@gmail.com>
|
|
Daniel Wagner |
fc3d78 |
Date: Mon, 7 Feb 2022 10:05:16 -0800
|
|
Daniel Wagner |
fc3d78 |
Subject: scsi: lpfc: Remove NVMe support if kernel has NVME_FC disabled
|
|
Daniel Wagner |
fc3d78 |
Patch-mainline: v5.17-rc4
|
|
Daniel Wagner |
fc3d78 |
Git-commit: c80b27cfd93ba9f5161383f798414609e84729f3
|
|
Daniel Wagner |
fc3d78 |
References: bsc#1197675
|
|
Daniel Wagner |
fc3d78 |
|
|
Daniel Wagner |
fc3d78 |
The driver is initiating NVMe PRLIs to determine device NVMe support. This
|
|
Daniel Wagner |
fc3d78 |
should not be occurring if CONFIG_NVME_FC support is disabled.
|
|
Daniel Wagner |
fc3d78 |
|
|
Daniel Wagner |
fc3d78 |
Correct this by changing the default value for FC4 support. Currently it
|
|
Daniel Wagner |
fc3d78 |
defaults to FCP and NVMe. With change, when NVME_FC support is not enabled
|
|
Daniel Wagner |
fc3d78 |
in the kernel, the default value is just FCP.
|
|
Daniel Wagner |
fc3d78 |
|
|
Daniel Wagner |
fc3d78 |
Link: https://lore.kernel.org/r/20220207180516.73052-1-jsmart2021@gmail.com
|
|
Daniel Wagner |
fc3d78 |
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
|
|
Daniel Wagner |
fc3d78 |
Signed-off-by: James Smart <jsmart2021@gmail.com>
|
|
Daniel Wagner |
fc3d78 |
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
|
Daniel Wagner |
fc3d78 |
Acked-by: Daniel Wagner <dwagner@suse.de>
|
|
Daniel Wagner |
fc3d78 |
---
|
|
Daniel Wagner |
fc3d78 |
drivers/scsi/lpfc/lpfc.h | 13 ++++++++++---
|
|
Daniel Wagner |
fc3d78 |
drivers/scsi/lpfc/lpfc_attr.c | 4 ++--
|
|
Daniel Wagner |
fc3d78 |
2 files changed, 12 insertions(+), 5 deletions(-)
|
|
Daniel Wagner |
fc3d78 |
|
|
Daniel Wagner |
fc3d78 |
--- a/drivers/scsi/lpfc/lpfc.h
|
|
Daniel Wagner |
fc3d78 |
+++ b/drivers/scsi/lpfc/lpfc.h
|
|
Daniel Wagner |
fc3d78 |
@@ -1071,6 +1071,16 @@ struct lpfc_hba {
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_hostmem_hgp;
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_log_verbose;
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_enable_fc4_type;
|
|
Daniel Wagner |
fc3d78 |
+#define LPFC_ENABLE_FCP 1
|
|
Daniel Wagner |
fc3d78 |
+#define LPFC_ENABLE_NVME 2
|
|
Daniel Wagner |
fc3d78 |
+#define LPFC_ENABLE_BOTH 3
|
|
Daniel Wagner |
fc3d78 |
+#if (IS_ENABLED(CONFIG_NVME_FC))
|
|
Daniel Wagner |
fc3d78 |
+#define LPFC_MAX_ENBL_FC4_TYPE LPFC_ENABLE_BOTH
|
|
Daniel Wagner |
fc3d78 |
+#define LPFC_DEF_ENBL_FC4_TYPE LPFC_ENABLE_BOTH
|
|
Daniel Wagner |
fc3d78 |
+#else
|
|
Daniel Wagner |
fc3d78 |
+#define LPFC_MAX_ENBL_FC4_TYPE LPFC_ENABLE_FCP
|
|
Daniel Wagner |
fc3d78 |
+#define LPFC_DEF_ENBL_FC4_TYPE LPFC_ENABLE_FCP
|
|
Daniel Wagner |
fc3d78 |
+#endif
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_aer_support;
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_sriov_nr_virtfn;
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_request_firmware_upgrade;
|
|
Daniel Wagner |
fc3d78 |
@@ -1092,9 +1102,6 @@ struct lpfc_hba {
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_ras_fwlog_func;
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_enable_bbcr; /* Enable BB Credit Recovery */
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_enable_dpp; /* Enable Direct Packet Push */
|
|
Daniel Wagner |
fc3d78 |
-#define LPFC_ENABLE_FCP 1
|
|
Daniel Wagner |
fc3d78 |
-#define LPFC_ENABLE_NVME 2
|
|
Daniel Wagner |
fc3d78 |
-#define LPFC_ENABLE_BOTH 3
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_enable_pbde;
|
|
Daniel Wagner |
fc3d78 |
uint32_t cfg_enable_mi;
|
|
Daniel Wagner |
fc3d78 |
struct nvmet_fc_target_port *targetport;
|
|
Daniel Wagner |
fc3d78 |
--- a/drivers/scsi/lpfc/lpfc_attr.c
|
|
Daniel Wagner |
fc3d78 |
+++ b/drivers/scsi/lpfc/lpfc_attr.c
|
|
Daniel Wagner |
fc3d78 |
@@ -3987,8 +3987,8 @@ LPFC_ATTR_R(nvmet_mrq_post,
|
|
Daniel Wagner |
fc3d78 |
* 3 - register both FCP and NVME
|
|
Daniel Wagner |
fc3d78 |
* Supported values are [1,3]. Default value is 3
|
|
Daniel Wagner |
fc3d78 |
*/
|
|
Daniel Wagner |
fc3d78 |
-LPFC_ATTR_R(enable_fc4_type, LPFC_ENABLE_BOTH,
|
|
Daniel Wagner |
fc3d78 |
- LPFC_ENABLE_FCP, LPFC_ENABLE_BOTH,
|
|
Daniel Wagner |
fc3d78 |
+LPFC_ATTR_R(enable_fc4_type, LPFC_DEF_ENBL_FC4_TYPE,
|
|
Daniel Wagner |
fc3d78 |
+ LPFC_ENABLE_FCP, LPFC_MAX_ENBL_FC4_TYPE,
|
|
Daniel Wagner |
fc3d78 |
"Enable FC4 Protocol support - FCP / NVME");
|
|
Daniel Wagner |
fc3d78 |
|
|
Daniel Wagner |
fc3d78 |
/*
|