summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Bolshakov <r.bolshakov@yadro.com>2019-11-25 17:56:59 +0100
committerMartin K. Petersen <martin.petersen@oracle.com>2019-12-10 00:29:27 +0100
commit5e6b01d84b9d20bcd77fc7c4733a2a4149bf220a (patch)
tree43d84098c64d856f0d08ece6a846e4c2e74efd8c
parentscsi: qla2xxx: Configure local loop for N2N target (diff)
downloadlinux-5e6b01d84b9d20bcd77fc7c4733a2a4149bf220a.tar.xz
linux-5e6b01d84b9d20bcd77fc7c4733a2a4149bf220a.zip
scsi: qla2xxx: Send Notify ACK after N2N PLOGI
qlt_handle_login schedules session for deletion even if a login is in progress. That causes login bouncing, i.e. a few logins are made before it settles down. Complete the first login by sending Notify Acknowledge IOCB via qlt_plogi_ack_unref if the session is pending login completion. Fixes: 9cd883f07a54 ("scsi: qla2xxx: Fix session cleanup for N2N") Cc: Krishna Kant <krishna.kant@purestorage.com> Cc: Alexei Potashnik <alexei@purestorage.com> Link: https://lore.kernel.org/r/20191125165702.1013-11-r.bolshakov@yadro.com Acked-by: Quinn Tran <qutran@marvell.com> Acked-by: Himanshu Madhani <hmadhani@marvell.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Tested-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/qla2xxx/qla_target.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c
index eeb069d52f3d..68c14143e50e 100644
--- a/drivers/scsi/qla2xxx/qla_target.c
+++ b/drivers/scsi/qla2xxx/qla_target.c
@@ -4803,6 +4803,7 @@ static int qlt_handle_login(struct scsi_qla_host *vha,
switch (sess->disc_state) {
case DSC_DELETED:
+ case DSC_LOGIN_PEND:
qlt_plogi_ack_unref(vha, pla);
break;