linux/drivers/scsi/lpfc
James Smart 02607fbaf0 scsi: lpfc: Skip reg_vpi when link is down for SLI3 in ADISC cmpl path
During RSCN storms, some instances of LIP on SLI-3 adapters lead to a
situation where FLOGIs keep failing with firmware indicating an illegal
command error code.  This situation was preceded by an ADISC completion
that was processed while the link was down. This path on SLI-3 performs a
CLEAR_LA and attempts to activate a VPI with REG_VPI.  Later, as the FLOGI
completes, it's no longer in sync with the VPI state.  In SLI-3 it is
illegal to have an active VPI during FLOGI.

Resolve by circumventing the SLI-3 path that performs the CLEAR_LA and
REG_VPI. The path will be taken after the FLOGI after the next Link Up.

Link: https://lore.kernel.org/r/20210707184351.67872-18-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>
2021-07-18 22:30:37 -04:00
..
lpfc.h scsi: lpfc: Fix NVMe support reporting in log message 2021-07-18 22:30:34 -04:00
lpfc_attr.c scsi: lpfc: Enable adisc discovery after RSCN by default 2021-07-18 22:30:37 -04:00
lpfc_attr.h
lpfc_bsg.c scsi: lpfc: Fix DMA virtual address ptr assignment in bsg 2021-04-26 22:57:27 -04:00
lpfc_bsg.h scsi: lpfc: Allow applications to issue Common Set Features mailbox command 2020-07-02 23:06:40 -04:00
lpfc_compat.h
lpfc_crtn.h scsi: lpfc: Delay unregistering from transport until GIDFT or ADISC completes 2021-07-18 22:30:37 -04:00
lpfc_ct.c scsi: lpfc: Fix function description comments for vmid routines 2021-07-18 22:30:35 -04:00
lpfc_debugfs.c scsi: lpfc: Fix node handling for Fabric Controller and Domain Controller 2021-05-21 23:23:28 -04:00
lpfc_debugfs.h scsi: lpfc: Make debugfs ktime stats generic for NVME and SCSI 2020-03-29 18:10:58 -04:00
lpfc_disc.h scsi: lpfc: Delay unregistering from transport until GIDFT or ADISC completes 2021-07-18 22:30:37 -04:00
lpfc_els.c scsi: lpfc: Skip reg_vpi when link is down for SLI3 in ADISC cmpl path 2021-07-18 22:30:37 -04:00
lpfc_hbadisc.c scsi: lpfc: Delay unregistering from transport until GIDFT or ADISC completes 2021-07-18 22:30:37 -04:00
lpfc_hw.h scsi: lpfc: vmid: Add datastructure for supporting VMID in lpfc 2021-06-10 10:01:32 -04:00
lpfc_hw4.h scsi: lpfc: Use PBDE feature enabled bit to determine PBDE support 2021-07-18 22:30:36 -04:00
lpfc_ids.h
lpfc_init.c scsi: lpfc: Use PBDE feature enabled bit to determine PBDE support 2021-07-18 22:30:36 -04:00
lpfc_logmsg.h scsi: lpfc: Add an internal trace log buffer 2020-07-02 23:06:49 -04:00
lpfc_mbox.c scsi: lpfc: vmid: Add support for VMID in mailbox command 2021-06-10 10:01:32 -04:00
lpfc_mem.c scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() 2020-10-26 21:42:38 -04:00
lpfc_nl.h
lpfc_nportdisc.c scsi: lpfc: Delay unregistering from transport until GIDFT or ADISC completes 2021-07-18 22:30:37 -04:00
lpfc_nvme.c scsi: lpfc: Delay unregistering from transport until GIDFT or ADISC completes 2021-07-18 22:30:37 -04:00
lpfc_nvme.h scsi: lpfc: Delay unregistering from transport until GIDFT or ADISC completes 2021-07-18 22:30:37 -04:00
lpfc_nvmet.c scsi: lpfc: Fix NMI crash during rmmod due to circular hbalock dependency 2021-04-13 01:39:13 -04:00
lpfc_scsi.c scsi: lpfc: Fix target reset handler from falsely returning FAILURE 2021-07-18 22:30:35 -04:00
lpfc_scsi.h
lpfc_sli.c scsi: lpfc: Clear outstanding active mailbox during PCI function reset 2021-07-18 22:30:36 -04:00
lpfc_sli.h scsi: lpfc: vmid: Add datastructure for supporting VMID in lpfc 2021-06-10 10:01:32 -04:00
lpfc_sli4.h scsi: lpfc: Improve firmware download logging 2021-07-18 22:30:35 -04:00
lpfc_version.h scsi: lpfc: Update lpfc version to 12.8.0.10 2021-05-21 23:23:28 -04:00
lpfc_vport.c scsi: lpfc: Update copyrights for 12.8.0.7 and 12.8.0.8 changes 2021-03-04 17:37:06 -05:00
lpfc_vport.h
Makefile