linux_dsm_epyc7002/drivers/scsi/lpfc
James Smart 3f97aed611 scsi: lpfc: Fix discovery failures when target device connectivity bounces
An issue was seen discovering all SCSI Luns when a target device undergoes
link bounce.

The driver currently does not qualify the FC4 support on the target.
Therefore it will send a SCSI PRLI and an NVMe PRLI. The expectation is
that the target will reject the PRLI if it is not supported. If a PRLI
times out, the driver will retry. The driver will not proceed with the
device until both SCSI and NVMe PRLIs are resolved.  In the failure case,
the device is FCP only and does not respond to the NVMe PRLI, thus
initiating the wait/retry loop in the driver.  During that time, a RSCN is
received (device bounced) causing the driver to issue a GID_FT.  The GID_FT
response comes back before the PRLI mess is resolved and it prematurely
cancels the PRLI retry logic and leaves the device in a STE_PRLI_ISSUE
state. Discovery with the target never completes or resets.

Fix by resetting the node state back to STE_NPR_NODE when GID_FT completes,
thereby restarting the discovery process for the node.

Link: https://lore.kernel.org/r/20190922035906.10977-10-jsmart2021@gmail.com
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2019-09-30 22:07:09 -04:00
..
lpfc_attr.c scsi: lpfc: Fix NVME io abort failures causing hangs 2019-09-30 22:07:09 -04:00
lpfc_attr.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_bsg.c scsi: lpfc: Migrate to %px and %pf in kernel print calls 2019-08-19 22:41:11 -04:00
lpfc_bsg.h scsi: lpfc: Update Copyright in driver version 2019-03-19 13:15:10 -04:00
lpfc_compat.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_crtn.h scsi: lpfc: Remove bg debugfs buffers 2019-08-29 18:08:58 -04:00
lpfc_ct.c scsi: lpfc: Migrate to %px and %pf in kernel print calls 2019-08-19 22:41:11 -04:00
lpfc_debugfs.c scsi: lpfc: Remove bg debugfs buffers 2019-08-29 18:08:58 -04:00
lpfc_debugfs.h scsi: lpfc: Merge per-protocol WQ/CQ pairs into single per-cpu pair 2019-08-19 22:41:12 -04:00
lpfc_disc.h scsi: lpfc: Add NVMe sequence level error recovery support 2019-08-19 22:41:12 -04:00
lpfc_els.c scsi: lpfc: Add NVMe sequence level error recovery support 2019-08-19 22:41:12 -04:00
lpfc_hbadisc.c scsi: lpfc: Fix discovery failures when target device connectivity bounces 2019-09-30 22:07:09 -04:00
lpfc_hw4.h scsi: lpfc: Add NVMe sequence level error recovery support 2019-08-19 22:41:12 -04:00
lpfc_hw.h scsi: lpfc: Fix ELS field alignments 2019-08-19 22:41:08 -04:00
lpfc_ids.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_init.c scsi: lpfc: Fix device recovery errors after PLOGI failures 2019-09-30 22:07:09 -04:00
lpfc_logmsg.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_mbox.c SCSI misc on 20190306 2019-03-09 16:53:47 -08:00
lpfc_mem.c scsi: lpfc: Support dynamic unbounded SGL lists on G7 hardware. 2019-08-19 22:41:12 -04:00
lpfc_nl.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_nportdisc.c scsi: lpfc: Fix pt2pt discovery on SLI3 HBAs 2019-09-30 22:07:08 -04:00
lpfc_nvme.c scsi: lpfc: Merge per-protocol WQ/CQ pairs into single per-cpu pair 2019-08-19 22:41:12 -04:00
lpfc_nvme.h SCSI misc on 20190306 2019-03-09 16:53:47 -08:00
lpfc_nvmet.c scsi: lpfc: Merge per-protocol WQ/CQ pairs into single per-cpu pair 2019-08-19 22:41:12 -04:00
lpfc_nvmet.h scsi: lpfc: Fix nvmet handling of received ABTS for unmapped frames 2019-06-18 19:46:21 -04:00
lpfc_scsi.c scsi: lpfc: Fix GPF on scsi command completion 2019-09-30 22:07:09 -04:00
lpfc_scsi.h scsi: lpfc: Update 12.2.0.0 file copyrights to 2019 2019-02-05 22:29:50 -05:00
lpfc_sli4.h SCSI misc on 20190919 2019-09-21 10:50:15 -07:00
lpfc_sli.c scsi: lpfc: Fix locking on mailbox command completion 2019-09-30 22:07:09 -04:00
lpfc_sli.h scsi: lpfc: Support dynamic unbounded SGL lists on G7 hardware. 2019-08-19 22:41:12 -04:00
lpfc_version.h scsi: lpfc: Update lpfc version to 12.4.0.0 2019-08-19 22:41:12 -04:00
lpfc_vport.c scsi: lpfc: Fix issuing init_vpi mbox on SLI-3 card 2019-08-19 22:41:09 -04:00
lpfc_vport.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc.h scsi: lpfc: Fix NVME io abort failures causing hangs 2019-09-30 22:07:09 -04:00
Makefile scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00