linux/drivers/scsi/lpfc
James Smart dea37e82fa scsi: lpfc: Fix PRLI retry handling when target rejects it.
The nvmet driver was rejecting the initiator's PRLI because its reg_rpi
for the PLOGI was still outstanding.  The initiator would resend the
PRLI without delay and get the same answer.  The PRLI retries would
exhaust causing the nvme initiator to set the nvmet ndlp to UNMAPPED.

The driver's lpfc_els_retry handler did not have a policy for an LS_RJT
with explanation CMD_IN_PROGRESS for PRLI or NVME_PRLI.  This caused the
delay to remain at 0 but retry set 1.

Fix: When the ELS response is LS_RJT, TPC and the command was PRLI or
NVME_PRLI, just set the delay to 1000 mS to get a 1 second delay on the
PRLI retry.  This was enough to allow the REG_RPI to complete at the
target.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-06-12 21:37:31 -04:00
..
lpfc_attr.c scsi: lpfc: Fix return value of board_mode store routine in case of online failure 2017-06-12 21:37:31 -04:00
lpfc_attr.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_bsg.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_bsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_compat.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_crtn.h scsi: lpfc: Avoid NULL pointer dereference in lpfc_els_abort() 2017-05-31 22:44:13 -04:00
lpfc_ct.c scsi: lpfc: prevent potential null pointer dereference 2017-05-31 22:45:15 -04:00
lpfc_debugfs.c scsi: lpfc: Fix counters so outstandng NVME IO count is accurate 2017-06-12 21:37:31 -04:00
lpfc_debugfs.h scsi: lpfc: fix building without debugfs support 2017-03-23 11:28:43 -04:00
lpfc_disc.h scsi: lpfc: Fix NVMEI's handling of NVMET's PRLI response attributes 2017-05-16 21:24:17 -04:00
lpfc_els.c scsi: lpfc: Fix PRLI retry handling when target rejects it. 2017-06-12 21:37:31 -04:00
lpfc_hbadisc.c scsi: lpfc: Fix nvmet node ref count handling 2017-06-12 21:37:30 -04:00
lpfc_hw4.h scsi: lpfc: Add MDS Diagnostic support. 2017-05-16 21:24:47 -04:00
lpfc_hw.h Add Fabric assigned WWN support. 2017-04-24 09:25:49 +02:00
lpfc_ids.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_init.c scsi: lpfc: Fix System panic after loading the driver 2017-06-12 21:37:31 -04:00
lpfc_logmsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_mbox.c Update ABORT processing for NVMET. 2017-04-24 09:25:49 +02:00
lpfc_mem.c scsi: lpfc: Separate NVMET RQ buffer posting from IO resources SGL/iocbq/context 2017-05-16 21:21:47 -04:00
lpfc_nl.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_nportdisc.c scsi: lpfc: Avoid NULL pointer dereference in lpfc_els_abort() 2017-05-31 22:44:13 -04:00
lpfc_nvme.c scsi: lpfc: Fix counters so outstandng NVME IO count is accurate 2017-06-12 21:37:31 -04:00
lpfc_nvme.h scsi: lpfc: Fix transition nvme-i rport handling to nport only. 2017-06-12 21:37:30 -04:00
lpfc_nvmet.c scsi: lpfc: Add changes to assist in NVMET debugging 2017-06-12 21:37:30 -04:00
lpfc_nvmet.h scsi: lpfc: Add changes to assist in NVMET debugging 2017-06-12 21:37:30 -04:00
lpfc_scsi.c scsi: lpfc: Fix counters so outstandng NVME IO count is accurate 2017-06-12 21:37:31 -04:00
lpfc_scsi.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_sli4.h scsi: lpfc: Fix System panic after loading the driver 2017-06-12 21:37:31 -04:00
lpfc_sli.c scsi: lpfc: Null pointer dereference when log_verbose is set to 0xffffffff 2017-06-12 21:37:31 -04:00
lpfc_sli.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_version.h scsi: lpfc: update version to 11.2.0.14 2017-05-16 21:25:09 -04:00
lpfc_vport.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_vport.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc.h scsi: lpfc: Fix counters so outstandng NVME IO count is accurate 2017-06-12 21:37:31 -04:00
Makefile scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00