linux/drivers/scsi/qla2xxx
Alexei Potashnik b7bd104e6f qla2xxx: Wait for all conflicts before ack'ing PLOGI
Until now ack'ing of a new PLOGI has only been delayed if there
was an existing session for the same WWN. Ack was released when
the session deletion completed.

If there was another WWN session with the same fc_id/loop_id pair
(aka "conflicting session"), PLOGI was still ack'ed immediately.
This potentially caused a problem when old session deletion logged
fc_id/loop_id out of FW after new session has been established.

Two work-arounds were attempted before:
1. Dropping PLOGIs until conflicting session goes away.
2. Detecting initiator being logged out of FW and issuing LOGO
to force re-login.

This patch introduces proper solution to the problem where PLOGI
is held until either existing session with same WWN or any
conflicting session goes away. Mechanism supports one session holding
two PLOGI acks as well as one PLOGI ack being held by many sessions.

Signed-off-by: Alexei Potashnik <alexei@purestorage.com>
Acked-by: Quinn Tran <quinn.tran@qlogic.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2016-01-07 13:57:44 -08:00
..
Kconfig qla2xxx: Update tcm_qla2xxx module description to 24xx+ 2015-08-02 22:41:14 -07:00
Makefile [SCSI] qla2xxx: Add support for ISP2071. 2014-03-15 10:18:50 -07:00
qla_attr.c qla2xxx: Added interface to send explicit LOGO. 2016-01-07 13:57:43 -08:00
qla_bsg.c qla2xxx: Remove set-but-not-used variables 2015-08-26 10:34:49 -07: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: Wait for all conflicts before ack'ing PLOGI 2016-01-07 13:57:44 -08: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: Wait for all conflicts before ack'ing PLOGI 2016-01-07 13:57:44 -08:00
qla_devtbl.h
qla_dfs.c qla2xxx: Add FW resource count in DebugFS. 2016-01-07 13:57:42 -08:00
qla_fw.h qla2xxx: Honor FCP_RSP retry delay timer field. 2014-09-25 14:25:04 +02:00
qla_gbl.h qla2xxx: Added interface to send explicit LOGO. 2016-01-07 13:57:43 -08:00
qla_gs.c qla2xxx: Remove __constant_ prefix 2015-08-26 10:40:32 -07:00
qla_init.c qla2xxx: Add FW resource count in DebugFS. 2016-01-07 13:57:42 -08:00
qla_inline.h qla2xxx: Added interface to send explicit LOGO. 2016-01-07 13:57:43 -08:00
qla_iocb.c qla2xxx: Added interface to send explicit LOGO. 2016-01-07 13:57:43 -08:00
qla_isr.c qla2xxx: Added interface to send explicit LOGO. 2016-01-07 13:57:43 -08:00
qla_mbx.c qla2xxx: Add FW resource count in DebugFS. 2016-01-07 13:57:42 -08:00
qla_mid.c qla2xxx: Remove set-but-not-used variables 2015-08-26 10:34:49 -07:00
qla_mr.c qla2xxx: Fix sparse annotations 2015-08-26 10:42:25 -07: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_nx2.c qla2xxx: Replace two macros with an inline function 2015-08-26 10:35:35 -07:00
qla_nx2.h qla2xxx: Replace two macros with an inline function 2015-08-26 10:35:35 -07:00
qla_nx.c qla2xxx: Avoid that sparse complains about context imbalances 2015-08-26 10:46:04 -07:00
qla_nx.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_os.c qla2xxx: Wait for all conflicts before ack'ing PLOGI 2016-01-07 13:57:44 -08: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 SCSI misc on 20150901 2015-09-02 12:22:54 -07:00
qla_target.c qla2xxx: Wait for all conflicts before ack'ing PLOGI 2016-01-07 13:57:44 -08:00
qla_target.h qla2xxx: Wait for all conflicts before ack'ing PLOGI 2016-01-07 13:57:44 -08:00
qla_tmpl.c qla2xxx: Avoid that sparse complains about context imbalances 2015-08-26 10:46:04 -07:00
qla_tmpl.h qla2xxx: ISP27xx fwdump template error print simplification. 2014-09-25 14:25:02 +02:00
qla_version.h qla2xxx: Update driver version to 8.07.00.26-k 2015-08-26 17:51:01 -07:00
tcm_qla2xxx.c qla2xxx: Add FW resource count in DebugFS. 2016-01-07 13:57:42 -08:00
tcm_qla2xxx.h target: move transport ID handling to the core 2015-05-30 22:42:30 -07:00