linux/drivers/scsi/lpfc
Dick Kennedy 678768da98 scsi: lpfc: Fix retry of PRLI when status indicates its unsupported
With port bounce/address swaps and timing between initiator GID queries vs
remote port FC4 support registrations, the driver may be in a situation
where it sends PRLIs for both FCP and NVME even though the target may not
support one of the protocols. In this case, the remote port will reject the
PRLI and usually indicate it does not support the request. However, the
driver currently ignores the status of the failure and immediately retries
the PRLI, which is pointless. In the case of this one remote port, the
reception of the PRLI retry caused it to decide to send a LOGO.  The LOGO
restarted the process and the same results happened. It made the remote
port undiscoverable to either protocol.

Add logic to detect the non-support status and not attempt the retry
of the PRLI.

Link: https://lore.kernel.org/r/20200803210229.23063-6-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>
2020-08-04 20:56:57 -04:00
..
lpfc_attr.c scsi: lpfc: Fix no message shown for lpfc_hdw_queue out of range value 2020-08-04 20:56:57 -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: Allow applications to issue Common Set Features mailbox command 2020-07-02 23:06:40 -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 scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_crtn.h scsi: lpfc: Add an internal trace log buffer 2020-07-02 23:06:49 -04:00
lpfc_ct.c scsi: lpfc: Fix RSCN timeout due to incorrect gidft counter 2020-08-04 20:56:57 -04:00
lpfc_debugfs.c SCSI misc on 20200605 2020-06-05 15:11:50 -07: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: Add NVMe sequence level error recovery support 2019-08-19 22:41:12 -04:00
lpfc_els.c scsi: lpfc: Fix retry of PRLI when status indicates its unsupported 2020-08-04 20:56:57 -04:00
lpfc_hbadisc.c scsi: lpfc: Fix kerneldoc parameter formatting/misnaming/missing issues 2020-07-24 22:31:54 -04:00
lpfc_hw4.h scsi: lpfc: Add support to display if adapter dumps are available 2020-07-02 23:06:41 -04:00
lpfc_hw.h scsi: lpfc: Remove prototype FIPS/DSS options from SLI-3 2020-03-29 18:10:58 -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 no message shown for lpfc_hdw_queue out of range value 2020-08-04 20:56:57 -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: Fix a bunch of kerneldoc misdemeanors 2020-07-24 22:32:03 -04:00
lpfc_mem.c scsi: lpfc: Provide description for lpfc_mem_alloc()'s 'align' param 2020-07-24 22:10:01 -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: Add description for lpfc_release_rpi()'s 'ndlpl param 2020-07-24 22:32:04 -04:00
lpfc_nvme.c scsi: lpfc: Correct some pretty obvious misdocumentation 2020-07-15 17:28:24 -04:00
lpfc_nvme.h lpfc: nvmet: Add support for NVME LS request hosthandle 2020-05-09 16:18:34 -06:00
lpfc_nvmet.c scsi: lpfc: nvmet: Avoid hang / use-after-free again when destroying targetport 2020-08-04 20:56:56 -04:00
lpfc_scsi.c scsi: lpfc: Add an internal trace log buffer 2020-07-02 23:06:49 -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: lpfc: Add blk_io_poll support for latency improvment 2020-07-02 23:06:42 -04:00
lpfc_sli.c scsi: lpfc: Fix oops when unloading driver while running mds diags 2020-08-04 20:56:57 -04:00
lpfc_sli.h scsi: lpfc: Make debugfs ktime stats generic for NVME and SCSI 2020-03-29 18:10:58 -04:00
lpfc_version.h scsi: lpfc: Update lpfc version to 12.8.0.2 2020-07-02 23:06:49 -04:00
lpfc_vport.c scsi: lpfc: Add an internal trace log buffer 2020-07-02 23:06:49 -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: Add an internal trace log buffer 2020-07-02 23:06:49 -04:00
Makefile scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00