Message ID | 20220207180516.73052-1-jsmart2021@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | lpfc: Remove NVME protocol support of kernel has NVME_FC support disabled | expand |
Reviewed-by: Ewan D. Milne <emilne@redhat.com> On Mon, Feb 7, 2022 at 1:12 PM James Smart <jsmart2021@gmail.com> wrote: > > The driver is intiating NVME PRLI's to determine NVME support to devices. > This should not be occurring if CONFIG_NVME_FC support is disabled. > > Corrected by changing the default value for FC4 support. Currently it > defaults to FCP and NVME. With change, when NVME_FC support is not enabled > in the kernel, the default value is just SCSI. > > Cut against 5.18/scsi-queue > > Signed-off-by: James Smart <jsmart2021@gmail.com> > --- > drivers/scsi/lpfc/lpfc.h | 13 ++++++++++--- > drivers/scsi/lpfc/lpfc_attr.c | 4 ++-- > 2 files changed, 12 insertions(+), 5 deletions(-) > > diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h > index 4878c94761f9..a1e0a106c132 100644 > --- a/drivers/scsi/lpfc/lpfc.h > +++ b/drivers/scsi/lpfc/lpfc.h > @@ -1161,6 +1161,16 @@ struct lpfc_hba { > uint32_t cfg_hostmem_hgp; > uint32_t cfg_log_verbose; > uint32_t cfg_enable_fc4_type; > +#define LPFC_ENABLE_FCP 1 > +#define LPFC_ENABLE_NVME 2 > +#define LPFC_ENABLE_BOTH 3 > +#if (IS_ENABLED(CONFIG_NVME_FC)) > +#define LPFC_MAX_ENBL_FC4_TYPE LPFC_ENABLE_BOTH > +#define LPFC_DEF_ENBL_FC4_TYPE LPFC_ENABLE_BOTH > +#else > +#define LPFC_MAX_ENBL_FC4_TYPE LPFC_ENABLE_FCP > +#define LPFC_DEF_ENBL_FC4_TYPE LPFC_ENABLE_FCP > +#endif > uint32_t cfg_aer_support; > uint32_t cfg_sriov_nr_virtfn; > uint32_t cfg_request_firmware_upgrade; > @@ -1182,9 +1192,6 @@ struct lpfc_hba { > uint32_t cfg_ras_fwlog_func; > uint32_t cfg_enable_bbcr; /* Enable BB Credit Recovery */ > uint32_t cfg_enable_dpp; /* Enable Direct Packet Push */ > -#define LPFC_ENABLE_FCP 1 > -#define LPFC_ENABLE_NVME 2 > -#define LPFC_ENABLE_BOTH 3 > uint32_t cfg_enable_pbde; > uint32_t cfg_enable_mi; > struct nvmet_fc_target_port *targetport; > diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c > index 7a7f17d71811..bac78fbce8d6 100644 > --- a/drivers/scsi/lpfc/lpfc_attr.c > +++ b/drivers/scsi/lpfc/lpfc_attr.c > @@ -3978,8 +3978,8 @@ LPFC_ATTR_R(nvmet_mrq_post, > * 3 - register both FCP and NVME > * Supported values are [1,3]. Default value is 3 > */ > -LPFC_ATTR_R(enable_fc4_type, LPFC_ENABLE_BOTH, > - LPFC_ENABLE_FCP, LPFC_ENABLE_BOTH, > +LPFC_ATTR_R(enable_fc4_type, LPFC_DEF_ENBL_FC4_TYPE, > + LPFC_ENABLE_FCP, LPFC_MAX_ENBL_FC4_TYPE, > "Enable FC4 Protocol support - FCP / NVME"); > > /* > -- > 2.26.2 >
On Mon, 7 Feb 2022 10:05:16 -0800, James Smart wrote: > The driver is intiating NVME PRLI's to determine NVME support to devices. > This should not be occurring if CONFIG_NVME_FC support is disabled. > > Corrected by changing the default value for FC4 support. Currently it > defaults to FCP and NVME. With change, when NVME_FC support is not enabled > in the kernel, the default value is just SCSI. > > [...] Applied to 5.17/scsi-fixes, thanks! [1/1] lpfc: Remove NVME protocol support of kernel has NVME_FC support disabled https://git.kernel.org/mkp/scsi/c/c80b27cfd93b
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h index 4878c94761f9..a1e0a106c132 100644 --- a/drivers/scsi/lpfc/lpfc.h +++ b/drivers/scsi/lpfc/lpfc.h @@ -1161,6 +1161,16 @@ struct lpfc_hba { uint32_t cfg_hostmem_hgp; uint32_t cfg_log_verbose; uint32_t cfg_enable_fc4_type; +#define LPFC_ENABLE_FCP 1 +#define LPFC_ENABLE_NVME 2 +#define LPFC_ENABLE_BOTH 3 +#if (IS_ENABLED(CONFIG_NVME_FC)) +#define LPFC_MAX_ENBL_FC4_TYPE LPFC_ENABLE_BOTH +#define LPFC_DEF_ENBL_FC4_TYPE LPFC_ENABLE_BOTH +#else +#define LPFC_MAX_ENBL_FC4_TYPE LPFC_ENABLE_FCP +#define LPFC_DEF_ENBL_FC4_TYPE LPFC_ENABLE_FCP +#endif uint32_t cfg_aer_support; uint32_t cfg_sriov_nr_virtfn; uint32_t cfg_request_firmware_upgrade; @@ -1182,9 +1192,6 @@ struct lpfc_hba { uint32_t cfg_ras_fwlog_func; uint32_t cfg_enable_bbcr; /* Enable BB Credit Recovery */ uint32_t cfg_enable_dpp; /* Enable Direct Packet Push */ -#define LPFC_ENABLE_FCP 1 -#define LPFC_ENABLE_NVME 2 -#define LPFC_ENABLE_BOTH 3 uint32_t cfg_enable_pbde; uint32_t cfg_enable_mi; struct nvmet_fc_target_port *targetport; diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 7a7f17d71811..bac78fbce8d6 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c @@ -3978,8 +3978,8 @@ LPFC_ATTR_R(nvmet_mrq_post, * 3 - register both FCP and NVME * Supported values are [1,3]. Default value is 3 */ -LPFC_ATTR_R(enable_fc4_type, LPFC_ENABLE_BOTH, - LPFC_ENABLE_FCP, LPFC_ENABLE_BOTH, +LPFC_ATTR_R(enable_fc4_type, LPFC_DEF_ENBL_FC4_TYPE, + LPFC_ENABLE_FCP, LPFC_MAX_ENBL_FC4_TYPE, "Enable FC4 Protocol support - FCP / NVME"); /*
The driver is intiating NVME PRLI's to determine NVME support to devices. This should not be occurring if CONFIG_NVME_FC support is disabled. Corrected by changing the default value for FC4 support. Currently it defaults to FCP and NVME. With change, when NVME_FC support is not enabled in the kernel, the default value is just SCSI. Cut against 5.18/scsi-queue Signed-off-by: James Smart <jsmart2021@gmail.com> --- drivers/scsi/lpfc/lpfc.h | 13 ++++++++++--- drivers/scsi/lpfc/lpfc_attr.c | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-)