android_kernel_xiaomi_sm7250/drivers/scsi/lpfc
James Smart 5a7584a5d9 scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
[ Upstream commit 336d63615466b4c06b9401c987813fd19bdde39b ]

After issuing a LIP, a specific target vendor does not ACC the FLOGI that
lpfc sends.  However, it does send its own FLOGI that lpfc ACCs.  The
target then establishes the port IDs by sending a PLOGI.  lpfc PLOGI_ACCs
and starts the RPI registration for DID 0x000001.  The target then sends a
LOGO to the fabric DID.  lpfc is currently treating the LOGO from the
fabric DID as a link down and cleans up all the ndlps.  The ndlp for DID
0x000001 is put back into NPR and discovery stops, leaving the port in
stuck in bypassed mode.

Change lpfc behavior such that if a LOGO is received for the fabric DID in
PT2PT topology skip the lpfc_linkdown_port() routine and just move the
fabric DID back to NPR.

Link: https://lore.kernel.org/r/20220603174329.63777-7-jsmart2021@gmail.com
Co-developed-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-25 11:49:14 +02:00
..
lpfc_attr.c scsi: lpfc: Fix kernel crash at lpfc_nvme_info_show during remote port bounce 2020-10-01 13:14:26 +02:00
lpfc_attr.h
lpfc_bsg.c scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func 2020-01-09 10:18:56 +01:00
lpfc_bsg.h
lpfc_compat.h
lpfc_crtn.h scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic 2021-05-22 10:59:18 +02:00
lpfc_ct.c scsi: lpfc: Fix coverity errors in fmdi attribute handling 2020-10-01 13:14:33 +02:00
lpfc_debugfs.c scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() 2022-01-05 12:34:58 +01:00
lpfc_debugfs.h
lpfc_disc.h
lpfc_els.c scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology 2021-07-20 16:16:07 +02:00
lpfc_hbadisc.c scsi: lpfc: Fix discovery failures when target device connectivity bounces 2020-01-04 19:12:35 +01:00
lpfc_hw4.h scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic 2021-05-22 10:59:18 +02:00
lpfc_hw.h scsi: lpfc: Fix coverity errors in fmdi attribute handling 2020-10-01 13:14:33 +02:00
lpfc_ids.h
lpfc_init.c scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic 2021-05-22 10:59:18 +02:00
lpfc_logmsg.h
lpfc_mbox.c scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic 2021-05-22 10:59:18 +02:00
lpfc_mem.c scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() 2020-12-30 11:26:15 +01:00
lpfc_nl.h
lpfc_nportdisc.c scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology 2022-06-25 11:49:14 +02:00
lpfc_nvme.c scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG 2020-04-29 16:31:10 +02:00
lpfc_nvme.h
lpfc_nvmet.c scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe 2021-05-22 10:59:16 +02:00
lpfc_nvmet.h
lpfc_scsi.c scsi: lpfc: Fix dif and first burst use in write commands 2019-12-05 09:19:48 +01:00
lpfc_scsi.h
lpfc_sli4.h scsi: lpfc: fcoe: Fix link down issue after 1000+ link bounces 2019-12-01 09:17:26 +01:00
lpfc_sli.c scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() 2021-11-26 11:36:19 +01:00
lpfc_sli.h
lpfc_version.h
lpfc_vport.c scsi: lpfc: Fix shost refcount mismatch when deleting vport 2020-09-03 11:24:19 +02:00
lpfc_vport.h
lpfc.h scsi: lpfc: Cap NPIV vports to 256 2019-12-17 20:35:28 +01:00
Makefile