aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_crtn.h
diff options
context:
space:
mode:
authorJames Smart <jsmart2021@gmail.com>2018-10-23 13:41:03 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2018-11-06 20:42:50 -0500
commit30e196cacefdd9a38c857caed23cefc9621bc5c1 (patch)
treee68dee8ab7c848b1740bd0df1f3d76fb6f3eb528 /drivers/scsi/lpfc/lpfc_crtn.h
parentscsi: lpfc: Fix lpfc_sli4_read_config return value check (diff)
downloadlinux-dev-30e196cacefdd9a38c857caed23cefc9621bc5c1.tar.xz
linux-dev-30e196cacefdd9a38c857caed23cefc9621bc5c1.zip
scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event
After a LOGO in response to an ABTS timeout, a PLOGI wasn't issued to re-establish the login. An nlp_type check in the LOGO completion handler failed to restart discovery for NVME targets. Revised the nlp_type check for NVME as well as SCSI. While reviewing the LOGO handling a few other issues were seen and were addressed: - Better lock synchronization around ndlp data types - When the ABTS times out, unregister the RPI before sending the LOGO so that all local exchange contexts are cleared and nothing received while awaiting LOGO/PLOGI handling will be accepted. - LOGO handling optimized to: Wait only R_A_TOV for a response. It doesn't need to be retried on timeout. If there wasn't a response, a PLOGI will be sent, thus an implicit logout applies as well when the other port sees it. If there is a response, any kind of response is considered "good" and the XRI quarantined for a exchange qualifier window. - PLOGI is issued as soon a LOGO state is resolved. Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <jsmart2021@gmail.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_crtn.h')
0 files changed, 0 insertions, 0 deletions