aboutsummaryrefslogtreecommitdiff
path: root/drivers/scsi/qla2xxx/qla_init.c
diff options
context:
space:
mode:
authorGravatar Quinn Tran <qutran@marvell.com> 2022-12-19 03:07:43 -0800
committerGravatar Martin K. Petersen <martin.petersen@oracle.com> 2023-01-11 21:28:37 -0500
commit40f5b1b9a4af2917f97bd98f277baebad8cde323 (patch)
tree1f6bd50aba9ce6c7552f1d842fde254e11332663 /drivers/scsi/qla2xxx/qla_init.c
parentscsi: qla2xxx: Fix exchange oversubscription for management commands (diff)
downloadlinux-40f5b1b9a4af2917f97bd98f277baebad8cde323.tar.gz
linux-40f5b1b9a4af2917f97bd98f277baebad8cde323.tar.bz2
linux-40f5b1b9a4af2917f97bd98f277baebad8cde323.zip
scsi: qla2xxx: Fix stalled login
If a login failed due to low FW resources, the session can stall and will not be connected. Reset session state to allow relogin logic to redrive the connection. Signed-off-by: Quinn Tran <qutran@marvell.com> Signed-off-by: Nilesh Javali <njavali@marvell.com> Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_init.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index fd27fb511479..745fee298d56 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -390,6 +390,12 @@ done_free_sp:
fcport->flags &= ~FCF_ASYNC_SENT;
done:
fcport->flags &= ~FCF_ASYNC_ACTIVE;
+
+ /*
+ * async login failed. Could be due to iocb/exchange resource
+ * being low. Set state DELETED for re-login process to start again.
+ */
+ qla2x00_set_fcport_disc_state(fcport, DSC_DELETED);
return rval;
}