[PATCH 1/7] lpfc: Fix unsolicited FLOGI receive handling during PT2PT discovery

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



During a stress offline/online test in PT2PT topology, target
rediscovery can fail with a specific target vendor array.

When the HBA transitions to online mode it is possible to receive an
unsolicited FLOGI before processing the Link Up event. The received
FLOGI will set the defer_flogi_acc_flag, which instructs the driver
to wait until it transmits its own FLOGI before ACKing the received
FLOGI.  In this failure scenario, the link up processing clears
the set defer_flogi_acc_flag before we have sent out the FLOGI.
As the target has the higher WWPN and is responsible for sending
the PLOGI, the target is stuck waiting for its FLOGI_ACC that the
driver will never send.

Remove the clear of defer_flogi_acc_flag from Link Up event
processing.  In this stress test case, the defer_flogi_acc_flag is
cleared during the Link Down event processing anyways.

Co-developed-by: Justin Tee <justin.tee@xxxxxxxxxxxx>
Signed-off-by: Justin Tee <justin.tee@xxxxxxxxxxxx>
Signed-off-by: James Smart <jsmart2021@xxxxxxxxx>
---
 drivers/scsi/lpfc/lpfc_hbadisc.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c
index 2645def612e6..36090e21bb10 100644
--- a/drivers/scsi/lpfc/lpfc_hbadisc.c
+++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
@@ -1392,7 +1392,6 @@ lpfc_linkup(struct lpfc_hba *phba)
 
 	/* reinitialize initial HBA flag */
 	phba->hba_flag &= ~(HBA_FLOGI_ISSUED | HBA_RHBA_CMPL);
-	phba->defer_flogi_acc_flag = false;
 
 	return 0;
 }
-- 
2.26.2




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux