alistair23-linux/drivers/scsi/qla2xxx
Laurence Oberman b9f85b1d32 qla2xxx: fix race in handling rport deletion during recovery causes panic
When we have an rport disconnect we race during rport deletion and
re-connection resulting in a panic.  When we do this, we call
fc_remote_port_del() just before we do the calls to re-establish the
session with the FC transport with fc_remote_port_add() and then
fc_remote_port_rolechg().

If we remove the call to fc_remote_port_del() before re-establishing
the connection this prevents the race.  This patch has resolved this
for multiple customers via test kernels.

Suggested by Chad Dupuis, implemented and tested by Laurence Oberman.

Signed-off-by: Laurence Oberman <loberman@redhat.com>
Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2014-12-15 13:34:23 +01:00
..
Kconfig scsi: Use 'depends' with LIBFC instead of 'select'. 2014-09-22 13:14:33 -04:00
Makefile [SCSI] qla2xxx: Add support for ISP2071. 2014-03-15 10:18:50 -07:00
qla_attr.c qla2xxx: Add missing ISP27xx checks to optrom code. 2014-09-25 14:25:04 +02:00
qla_bsg.c qla2xxx: Add missing ISP27xx checks to optrom code. 2014-09-25 14:25:04 +02:00
qla_bsg.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_dbg.c qla2xxx: Add support for QFull throttling and Term Exchange retry 2014-09-25 14:25:07 +02:00
qla_dbg.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_def.h qla2xxx: Add support for QFull throttling and Term Exchange retry 2014-09-25 14:25:07 +02:00
qla_devtbl.h [SCSI] qla2xxx: fix Kernel Panic with Qlogic 2472 Card. 2009-02-10 11:15:18 -05:00
qla_dfs.c qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_fw.h qla2xxx: Honor FCP_RSP retry delay timer field. 2014-09-25 14:25:04 +02:00
qla_gbl.h qla2xxx: remove redundant declaration in 'qla_gbl.h' 2014-11-12 11:32:01 +01:00
qla_gs.c qla2xxx: Add FDMI-2 functionality. 2014-09-25 14:25:02 +02:00
qla_init.c qla2xxx: fix race in handling rport deletion during recovery causes panic 2014-12-15 13:34:23 +01:00
qla_inline.h qla2xxx: Honor FCP_RSP retry delay timer field. 2014-09-25 14:25:04 +02:00
qla_iocb.c scsi: remove abuses of scsi_populate_tag 2014-11-12 11:19:41 +01:00
qla_isr.c qla2xxx: Mark port lost when we receive an RSCN for it. 2014-09-25 14:25:05 +02:00
qla_mbx.c qla2xxx: Add diagnostic port functionality. 2014-09-25 14:25:03 +02:00
qla_mid.c qla2xxx: ISP25xx multiqueue shadow register crash fix. 2014-09-25 14:25:02 +02:00
qla_mr.c scsi: remove abuses of scsi_populate_tag 2014-11-12 11:19:41 +01:00
qla_mr.h qla2xxx: Adjust adapter reset routine to the changes in firmware specification for ISPFx00. 2014-05-19 13:31:03 +02:00
qla_nx.c qla2xxx: Move warning message to debug level. 2014-09-25 14:25:05 +02:00
qla_nx.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_nx2.c qla2xxx: remove redundant declaration in 'qla_gbl.h' 2014-11-12 11:32:01 +01:00
qla_nx2.h qla2xxx: Check the QLA8044_CRB_DRV_ACTIVE_INDEX register when we are not the owner of the reset. 2014-05-19 13:31:04 +02:00
qla_os.c scsi: remove ->change_queue_type method 2014-12-04 09:55:45 +01:00
qla_settings.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_sup.c qla2xxx: Fix driver version string message. 2014-09-25 14:25:03 +02:00
qla_target.c scsi: remove MSG_*_TAG defines 2014-12-04 09:58:33 +01:00
qla_target.h Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2014-10-21 13:06:38 -07:00
qla_tmpl.c qla2xxx: ISP27xx fwdump template error print simplification. 2014-09-25 14:25:02 +02:00
qla_tmpl.h qla2xxx: ISP27xx fwdump template error print simplification. 2014-09-25 14:25:02 +02:00
qla_version.h qla2xxx: Update the driver version to 8.07.00.16-k. 2014-09-25 14:25:06 +02:00
tcm_qla2xxx.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2014-10-21 13:06:38 -07:00
tcm_qla2xxx.h qla2xxx: Convert to percpu_ida session tag pre-allocation 2014-06-03 19:18:42 -07:00