linux-stable/drivers/scsi/qla2xxx
Quinn Tran 445534d787 scsi: qla2xxx: Fix hang due to session stuck
commit c02aada06d upstream.

User experienced device lost. The log shows Get port data base command was
queued up, failed, and requeued again. Every time it is requeued, it set
the FCF_ASYNC_ACTIVE. This prevents any recovery code from occurring
because driver thinks a recovery is in progress for this session. In
essence, this session is hung.  The reason it gets into this place is the
session deletion got in front of this call due to link perturbation.

Break the requeue cycle and exit.  The session deletion code will trigger a
session relogin.

Link: https://lore.kernel.org/r/20220310092604.22950-8-njavali@marvell.com
Fixes: 726b854870 ("qla2xxx: Add framework for async fabric discovery")
Cc: stable@vger.kernel.org
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-08 13:58:50 +02:00
..
Kconfig
Makefile scsi: qla2xxx: edif: Add start + stop bsgs 2021-07-27 00:06:42 -04:00
qla_attr.c scsi: qla2xxx: Add devids and conditionals for 28xx 2022-04-08 13:58:50 +02:00
qla_bsg.c scsi: qla2xxx: Implement ref count for SRB 2022-04-08 13:58:49 +02:00
qla_bsg.h scsi: qla2xxx: Add support for mailbox passthru 2021-09-14 23:33:19 -04:00
qla_dbg.c scsi: qla2xxx: Format log strings only if needed 2021-12-06 22:38:17 -05:00
qla_dbg.h scsi: qla2xxx: edif: Add start + stop bsgs 2021-07-27 00:06:42 -04:00
qla_def.h scsi: qla2xxx: Fix hang due to session stuck 2022-04-08 13:58:50 +02:00
qla_devtbl.h
qla_dfs.c scsi: qla2xxx: Remove unnecessary NULL check 2021-01-22 22:04:16 -05:00
qla_dsd.h
qla_edif.c scsi: qla2xxx: edif: Fix clang warning 2022-04-08 13:58:50 +02:00
qla_edif.h scsi: qla2xxx: edif: Fix inconsistent check of db_flags 2021-10-26 23:52:00 -04:00
qla_edif_bsg.h scsi: qla2xxx: edif: Increase ELS payload 2021-10-26 23:52:00 -04:00
qla_fw.h scsi: qla2xxx: edif: Add N2N support for EDIF 2021-08-23 22:36:53 -04:00
qla_gbl.h scsi: qla2xxx: Implement ref count for SRB 2022-04-08 13:58:49 +02:00
qla_gs.c scsi: qla2xxx: Implement ref count for SRB 2022-04-08 13:58:49 +02:00
qla_init.c scsi: qla2xxx: Fix hang due to session stuck 2022-04-08 13:58:50 +02:00
qla_inline.h scsi: qla2xxx: Implement ref count for SRB 2022-04-08 13:58:49 +02:00
qla_iocb.c scsi: qla2xxx: Implement ref count for SRB 2022-04-08 13:58:49 +02:00
qla_isr.c scsi: qla2xxx: Fix incorrect reporting of task management failure 2022-04-08 13:58:50 +02:00
qla_mbx.c scsi: qla2xxx: Add devids and conditionals for 28xx 2022-04-08 13:58:50 +02:00
qla_mid.c scsi: qla2xxx: Implement ref count for SRB 2022-04-08 13:58:49 +02:00
qla_mr.c scsi: qla2xxx: Implement ref count for SRB 2022-04-08 13:58:49 +02:00
qla_mr.h scsi: qla2xxx: Suppress Coverity complaints about dseg_r* 2021-03-24 21:47:20 -04:00
qla_nvme.c scsi: qla2xxx: Fix disk failure to rediscover 2022-04-08 13:58:50 +02:00
qla_nvme.h
qla_nx.c scsi: qla2xxx: Remove unused variable 'status' 2021-07-27 00:06:42 -04:00
qla_nx.h
qla_nx2.c scsi: qla2xxx: Simplify qla8044_minidump_process_control() 2021-03-24 21:47:21 -04:00
qla_nx2.h
qla_os.c scsi: qla2xxx: Add devids and conditionals for 28xx 2022-04-08 13:58:50 +02:00
qla_settings.h
qla_sup.c scsi: qla2xxx: Add devids and conditionals for 28xx 2022-04-08 13:58:50 +02:00
qla_target.c scsi: qla2xxx: Add devids and conditionals for 28xx 2022-04-08 13:58:50 +02:00
qla_target.h scsi: qla2xxx: edif: Add encryption to I/O path 2021-07-27 00:06:43 -04:00
qla_tmpl.c scsi: qla2xxx: Fix premature hw access after PCI error 2022-04-08 13:58:49 +02:00
qla_tmpl.h
qla_version.h scsi: qla2xxx: Update version to 10.02.07.200-k 2021-10-26 23:52:01 -04:00
tcm_qla2xxx.c scsi: target: qla2xxx: Replace enable attr with ops.enable 2021-10-04 23:27:38 -04:00
tcm_qla2xxx.h