Revert "scsi: lpfc: Resolve some cleanup issues following SLI path refactoring"
authorJames Smart <jsmart2021@gmail.com>
Fri, 28 Oct 2022 21:08:22 +0000 (14:08 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Nov 2022 14:59:13 +0000 (23:59 +0900)
This reverts commit 17bf429b913b9e7f8d2353782e24ed3a491bb2d8.

LTS 5.15 pulled in several lpfc "SLI Path split" patches.  The Path
Split mods were a 14-patch set, which refactors the driver from
to split the sli-3 hw (now eol) from the sli-4 hw and use sli4
structures natively. The patches are highly inter-related.

Given only some of the patches were included, it created a situation
where FLOGI's fail, thus SLI Ports can't start communication.

Reverting this patch as its a fix specific to the Path Split patches,
which were partially included and now being pulled from 5.15.

Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/lpfc/lpfc_init.c
drivers/scsi/lpfc/lpfc_sli.c

index 48043e1..f4c3484 100644 (file)
@@ -11968,7 +11968,7 @@ lpfc_sli_enable_msi(struct lpfc_hba *phba)
        rc = pci_enable_msi(phba->pcidev);
        if (!rc)
                lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
-                               "0012 PCI enable MSI mode success.\n");
+                               "0462 PCI enable MSI mode success.\n");
        else {
                lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
                                "0471 PCI enable MSI mode failed (%d)\n", rc);
index f594a00..85de54b 100644 (file)
@@ -1939,7 +1939,7 @@ lpfc_issue_cmf_sync_wqe(struct lpfc_hba *phba, u32 ms, u64 total)
        sync_buf = __lpfc_sli_get_iocbq(phba);
        if (!sync_buf) {
                lpfc_printf_log(phba, KERN_ERR, LOG_CGN_MGMT,
-                               "6244 No available WQEs for CMF_SYNC_WQE\n");
+                               "6213 No available WQEs for CMF_SYNC_WQE\n");
                ret_val = ENOMEM;
                goto out_unlock;
        }
@@ -3739,7 +3739,7 @@ lpfc_sli_process_sol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
                                                set_job_ulpword4(cmdiocbp,
                                                                 IOERR_ABORT_REQUESTED);
                                                /*
-                                                * For SLI4, irspiocb contains
+                                                * For SLI4, irsiocb contains
                                                 * NO_XRI in sli_xritag, it
                                                 * shall not affect releasing
                                                 * sgl (xri) process.
@@ -3757,7 +3757,7 @@ lpfc_sli_process_sol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
                                        }
                                }
                        }
-                       cmdiocbp->cmd_cmpl(phba, cmdiocbp, saveq);
+                       (cmdiocbp->cmd_cmpl) (phba, cmdiocbp, saveq);
                } else
                        lpfc_sli_release_iocbq(phba, cmdiocbp);
        } else {
@@ -3997,7 +3997,8 @@ lpfc_sli_handle_fast_ring_event(struct lpfc_hba *phba,
                                cmdiocbq->cmd_flag &= ~LPFC_DRIVER_ABORTED;
                        if (cmdiocbq->cmd_cmpl) {
                                spin_unlock_irqrestore(&phba->hbalock, iflag);
-                               cmdiocbq->cmd_cmpl(phba, cmdiocbq, &rspiocbq);
+                               (cmdiocbq->cmd_cmpl)(phba, cmdiocbq,
+                                                     &rspiocbq);
                                spin_lock_irqsave(&phba->hbalock, iflag);
                        }
                        break;
@@ -10937,7 +10938,7 @@ lpfc_sli4_iocb2wqe(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq,
  * @flag: Flag indicating if this command can be put into txq.
  *
  * __lpfc_sli_issue_fcp_io_s3 is wrapper function to invoke lockless func to
- * send  an iocb command to an HBA with SLI-3 interface spec.
+ * send  an iocb command to an HBA with SLI-4 interface spec.
  *
  * This function takes the hbalock before invoking the lockless version.
  * The function will return success after it successfully submit the wqe to
@@ -12990,7 +12991,7 @@ lpfc_sli_wake_iocb_wait(struct lpfc_hba *phba,
                cmdiocbq->cmd_cmpl = cmdiocbq->wait_cmd_cmpl;
                cmdiocbq->wait_cmd_cmpl = NULL;
                if (cmdiocbq->cmd_cmpl)
-                       cmdiocbq->cmd_cmpl(phba, cmdiocbq, NULL);
+                       (cmdiocbq->cmd_cmpl)(phba, cmdiocbq, NULL);
                else
                        lpfc_sli_release_iocbq(phba, cmdiocbq);
                return;
@@ -13004,9 +13005,9 @@ lpfc_sli_wake_iocb_wait(struct lpfc_hba *phba,
 
        /* Set the exchange busy flag for task management commands */
        if ((cmdiocbq->cmd_flag & LPFC_IO_FCP) &&
-           !(cmdiocbq->cmd_flag & LPFC_IO_LIBDFC)) {
+               !(cmdiocbq->cmd_flag & LPFC_IO_LIBDFC)) {
                lpfc_cmd = container_of(cmdiocbq, struct lpfc_io_buf,
-                                       cur_iocbq);
+                       cur_iocbq);
                if (rspiocbq && (rspiocbq->cmd_flag & LPFC_EXCHANGE_BUSY))
                        lpfc_cmd->flags |= LPFC_SBUF_XBUSY;
                else
@@ -14144,7 +14145,7 @@ void lpfc_sli4_els_xri_abort_event_proc(struct lpfc_hba *phba)
  * @irspiocbq: Pointer to work-queue completion queue entry.
  *
  * This routine handles an ELS work-queue completion event and construct
- * a pseudo response ELS IOCBQ from the SLI4 ELS WCQE for the common
+ * a pseudo response ELS IODBQ from the SLI4 ELS WCQE for the common
  * discovery engine to handle.
  *
  * Return: Pointer to the receive IOCBQ, NULL otherwise.
@@ -14188,7 +14189,7 @@ lpfc_sli4_els_preprocess_rspiocbq(struct lpfc_hba *phba,
 
        if (bf_get(lpfc_wcqe_c_xb, wcqe)) {
                spin_lock_irqsave(&phba->hbalock, iflags);
-               irspiocbq->cmd_flag |= LPFC_EXCHANGE_BUSY;
+               cmdiocbq->cmd_flag |= LPFC_EXCHANGE_BUSY;
                spin_unlock_irqrestore(&phba->hbalock, iflags);
        }
 
@@ -15047,7 +15048,7 @@ lpfc_sli4_fp_handle_fcp_wcqe(struct lpfc_hba *phba, struct lpfc_queue *cq,
                /* Pass the cmd_iocb and the wcqe to the upper layer */
                memcpy(&cmdiocbq->wcqe_cmpl, wcqe,
                       sizeof(struct lpfc_wcqe_complete));
-               cmdiocbq->cmd_cmpl(phba, cmdiocbq, cmdiocbq);
+               (cmdiocbq->cmd_cmpl)(phba, cmdiocbq, cmdiocbq);
        } else {
                lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
                                "0375 FCP cmdiocb not callback function "
@@ -19211,7 +19212,7 @@ lpfc_sli4_send_seq_to_ulp(struct lpfc_vport *vport,
 
        /* Free iocb created in lpfc_prep_seq */
        list_for_each_entry_safe(curr_iocb, next_iocb,
-                                &iocbq->list, list) {
+               &iocbq->list, list) {
                list_del_init(&curr_iocb->list);
                lpfc_sli_release_iocbq(phba, curr_iocb);
        }