From: Quinn Tran Date: Mon, 19 Dec 2022 11:07:43 +0000 (-0800) Subject: scsi: qla2xxx: Fix stalled login X-Git-Tag: v6.3-rc1~144^2~40^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=40f5b1b9a4af2917f97bd98f277baebad8cde323;p=thirdparty%2Fkernel%2Flinux.git 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 Signed-off-by: Nilesh Javali Reviewed-by: Himanshu Madhani Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index fd27fb5114796..745fee298d56c 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; }