scsi: lpfc: Move MI module parameter check to handle dynamic disable
authorJames Smart <jsmart2021@gmail.com>
Tue, 12 Apr 2022 22:19:55 +0000 (15:19 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 19 Apr 2022 02:48:45 +0000 (22:48 -0400)
lpfc_refresh_params() can be called for an async event handler. This could
potentially override the value initialized by lpfc_cmf_setup().

Move module parameter check to lpfc_refresh_params().

Link: https://lore.kernel.org/r/20220412222008.126521-14-jsmart2021@gmail.com
Co-developed-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_init.c
drivers/scsi/lpfc/lpfc_sli.c

index 7dfd47d..ec6da7e 100644 (file)
@@ -686,8 +686,14 @@ lpfc_sli4_refresh_params(struct lpfc_hba *phba)
                return rc;
        }
        mbx_sli4_parameters = &mqe->un.get_sli4_parameters.sli4_parameters;
-       phba->sli4_hba.pc_sli4_params.mi_ver =
+
+       /* Are we forcing MI off via module parameter? */
+       if (phba->cfg_enable_mi)
+               phba->sli4_hba.pc_sli4_params.mi_ver =
                        bf_get(cfg_mi_ver, mbx_sli4_parameters);
+       else
+               phba->sli4_hba.pc_sli4_params.mi_ver = 0;
+
        phba->sli4_hba.pc_sli4_params.cmf =
                        bf_get(cfg_cmf, mbx_sli4_parameters);
        phba->sli4_hba.pc_sli4_params.pls =
index ca77669..3b9359c 100644 (file)
@@ -7994,10 +7994,6 @@ lpfc_cmf_setup(struct lpfc_hba *phba)
 
        sli4_params = &phba->sli4_hba.pc_sli4_params;
 
-       /* Are we forcing MI off via module parameter? */
-       if (!phba->cfg_enable_mi)
-               sli4_params->mi_ver = 0;
-
        /* Always try to enable MI feature if we can */
        if (sli4_params->mi_ver) {
                lpfc_set_features(phba, mboxq, LPFC_SET_ENABLE_MI);