scsi: lpfc: Revert LOG_TRACE_EVENT back to LOG_INIT prior to driver_resource_setup()
authorJames Smart <jsmart2021@gmail.com>
Wed, 20 Oct 2021 21:14:10 +0000 (14:14 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 21 Oct 2021 03:33:45 +0000 (23:33 -0400)
In cases when lpfc_enable_pci_dev() fails, lpfc_printf_log() with
LOG_TRACE_EVENT set will call lpfc_dmp_dbg() which uses the
phba->port_list_lock.

However, phba->port_list_lock does not get initialized until
lpfc_setup_driver_resource_phase1().  Thus, any initialization routine with
LOG_TRACE_EVENT log message prior to lpfc_setup_driver_resource_phase1()
will crash.

Revert LOG_TRACE_EVENT back to LOG_INIT for all log messages in routines
prior to lpfc_setup_driver_resource_phase1().

Link: https://lore.kernel.org/r/20211020211417.88754-2-jsmart2021@gmail.com
CC: Zheyu Ma <zheyuma97@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_scsi.c
drivers/scsi/lpfc/lpfc_sli.c

index 34b5d042bfd088ee953d889c2ff9fc98898a39e2..469045b0cd7df60e1d9ce54e7a941d77e7d77ae8 100644 (file)
@@ -7385,7 +7385,7 @@ lpfc_enable_pci_dev(struct lpfc_hba *phba)
 out_disable_device:
        pci_disable_device(pdev);
 out_error:
-       lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
+       lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
                        "1401 Failed to enable pci device\n");
        return -ENODEV;
 }
@@ -8428,7 +8428,7 @@ lpfc_init_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
                phba->lpfc_stop_port = lpfc_stop_port_s4;
                break;
        default:
-               lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
+               lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
                                "1431 Invalid HBA PCI-device group: 0x%x\n",
                                dev_grp);
                return -ENODEV;
@@ -11661,7 +11661,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
        /* There is no SLI3 failback for SLI4 devices. */
        if (bf_get(lpfc_sli_intf_valid, &phba->sli4_hba.sli_intf) !=
            LPFC_SLI_INTF_VALID) {
-               lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
+               lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
                                "2894 SLI_INTF reg contents invalid "
                                "sli_intf reg 0x%x\n",
                                phba->sli4_hba.sli_intf.word0);
index 67844fcc0e946b31cd60af37b2553e8743e77d39..f1bd36b797ad76a881b8cb40637e66d01c63d51f 100644 (file)
@@ -5115,7 +5115,7 @@ lpfc_scsi_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
                phba->lpfc_scsi_prep_cmnd_buf = lpfc_scsi_prep_cmnd_buf_s4;
                break;
        default:
-               lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
+               lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
                                "1418 Invalid HBA PCI-device group: 0x%x\n",
                                dev_grp);
                return -ENODEV;
index d800c6a69c95852fa7940f9463d4c2a185c8e17b..244e7d68428e6114172fb3dd72b525ea13e0bb91 100644 (file)
@@ -10026,7 +10026,7 @@ lpfc_mbox_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
                phba->lpfc_sli_brdready = lpfc_sli_brdready_s4;
                break;
        default:
-               lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
+               lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
                                "1420 Invalid HBA PCI-device group: 0x%x\n",
                                dev_grp);
                return -ENODEV;
@@ -11194,7 +11194,7 @@ lpfc_sli_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
                phba->__lpfc_sli_issue_fcp_io = __lpfc_sli_issue_fcp_io_s4;
                break;
        default:
-               lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
+               lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
                                "1419 Invalid HBA PCI-device group: 0x%x\n",
                                dev_grp);
                return -ENODEV;