linux/drivers/scsi/lpfc
Dick Kennedy 1fe68477d2 scsi: lpfc: Fix plogi collision that causes illegal state transition
Message "0271 Illegal State Transition: node" seen in logs, all luns are
unuseable for that target.

A window exists in the rcv_plogi path where if the state is plogi issue
but the driver has not issued a plogi, then two reglogins will be sent
for the same RPI. The first one to complete will advance the state to
prli issue the second one will be detected as an illegal state, and
leave the node in an unusable state.

Correct the completion routine for the PLOGI ACC that detects the state
change when the driver starts discovery on the node again and drop the
REGLOGIN mailbox command.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-08-24 22:29:34 -04:00
..
lpfc.h scsi: lpfc: Replace PCI pool old API 2017-08-07 14:04:01 -04:00
lpfc_attr.c scsi: lpfc: Break up IO ctx list into a separate get and put list 2017-06-19 21:40:10 -04:00
lpfc_attr.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_bsg.c scsi: lpfc: remove useless code in lpfc_sli4_bsg_link_diag_test 2017-08-24 22:29:09 -04: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: Fix vports not logging into target 2017-06-12 21:37:31 -04:00
lpfc_debugfs.c SCSI misc on 20170704 2017-07-06 12:10:33 -07: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 plogi collision that causes illegal state transition 2017-08-24 22:29:34 -04:00
lpfc_hbadisc.c scsi: lpfc: Fix SLI3 drivers attempting NVME ELS commands. 2017-06-19 21:40:21 -04:00
lpfc_hw.h Add Fabric assigned WWN support. 2017-04-24 09:25:49 +02:00
lpfc_hw4.h scsi: lpfc: Add auto EQ delay logic 2017-06-12 21:37:31 -04:00
lpfc_ids.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_init.c scsi: lpfc: Replace PCI pool old API 2017-08-07 14:04:01 -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: Replace PCI pool old API 2017-08-07 14:04:01 -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: Replace PCI pool old API 2017-08-07 14:04:01 -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: Replace PCI pool old API 2017-08-07 14:04:01 -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: Replace PCI pool old API 2017-08-07 14:04:01 -04:00
lpfc_scsi.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_sli.c scsi: lpfc: Replace PCI pool old API 2017-08-07 14:04:01 -04:00
lpfc_sli.h scsi: lpfc: Add auto EQ delay logic 2017-06-12 21:37:31 -04:00
lpfc_sli4.h scsi: lpfc: Break up IO ctx list into a separate get and put list 2017-06-19 21:40:10 -04:00
lpfc_version.h scsi: lpfc: update to revision to 11.4.0.1 2017-06-19 21:41:12 -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
Makefile scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00