diff options
author | 2022-12-19 03:07:43 -0800 | |
---|---|---|
committer | 2023-01-11 21:28:37 -0500 | |
commit | 40f5b1b9a4af2917f97bd98f277baebad8cde323 (patch) | |
tree | 1f6bd50aba9ce6c7552f1d842fde254e11332663 /drivers/scsi/qla2xxx/qla_init.c | |
parent | scsi: qla2xxx: Fix exchange oversubscription for management commands (diff) | |
download | linux-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.c | 6 |
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; } |