Revert "scsi: lpfc: Resolve some cleanup issues following SLI path refactoring"
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>
This commit is contained in:
parent
b32b766be4
commit
97dc9076ea
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user