Commit d472a766 authored by Justin Tee's avatar Justin Tee Committed by Martin K. Petersen

scsi: lpfc: Treat IOERR_SLI_DOWN I/O completion status the same as pci offline

During receipt of a hardware error attention ACQE, IOERR_SLI_DOWN status is
set by the driver for all outstanding I/Os.

In such hardware error attention cases, we can treat the situation exactly
the same as pci_channel_offline.  Thus, add IOERR_SLI_DOWN status to the
same category as pci_channel_offline handling in lpfc_nvme_io_cmd_cmpl.
Signed-off-by: default avatarJustin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20231009161812.97232-3-justintee8345@gmail.comSigned-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 05068146
...@@ -951,7 +951,7 @@ lpfc_nvme_io_cmd_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn, ...@@ -951,7 +951,7 @@ lpfc_nvme_io_cmd_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn,
#ifdef CONFIG_SCSI_LPFC_DEBUG_FS #ifdef CONFIG_SCSI_LPFC_DEBUG_FS
int cpu; int cpu;
#endif #endif
int offline = 0; bool offline = false;
/* Sanity check on return of outstanding command */ /* Sanity check on return of outstanding command */
if (!lpfc_ncmd) { if (!lpfc_ncmd) {
...@@ -1125,7 +1125,9 @@ lpfc_nvme_io_cmd_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn, ...@@ -1125,7 +1125,9 @@ lpfc_nvme_io_cmd_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn,
nCmd->transferred_length = 0; nCmd->transferred_length = 0;
nCmd->rcv_rsplen = 0; nCmd->rcv_rsplen = 0;
nCmd->status = NVME_SC_INTERNAL; nCmd->status = NVME_SC_INTERNAL;
offline = pci_channel_offline(vport->phba->pcidev); if (pci_channel_offline(vport->phba->pcidev) ||
lpfc_ncmd->result == IOERR_SLI_DOWN)
offline = true;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment