linux/drivers/scsi/bnx2fc
Eddie Wai 2183789609 [SCSI] bnx2fc: Fixed a SCSI CMD cmpl race condition between ABTS and CLEANUP
In the case when a SCSI_CMD times out, bnx2fc will initiate the sending of the
ABTS.  However, if the SCSI layer's SCSI command timer also times out, it'll
instantiate a task abort of the same xid.

The race condition this patch tries to fix is as follows:

SCSI_CMD timeout (20s)
thread 1                   thread 2
send ABTS
rx ABTS cmpl
                           task abort_eh
                           explicit LOGO since ABTS was engaged
                           CLEANUP cmpl
SCSI_CMD cmpl (ABTS cmpl)
instantiate RRQ
wait 10s
attempt to send RRQ (because of LOGO, it wouldn't continue)

Note that there is no call to scsi_done for this SCSI_CMD cmpletion
in this path.

The patch changes the path of execution to call scsi_done immediately
instead of instantiating the RRQ.

Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-10-25 09:58:02 +01:00
..
57xx_hsi_bnx2fc.h New 7.0 FW: bnx2x, cnic, bnx2i, bnx2fc 2011-06-15 10:56:37 -04:00
bnx2fc_constants.h cnic: Fix parity error code conflict 2012-03-21 21:57:36 -04:00
bnx2fc_debug.c [SCSI] bnx2fc: Reduce object size by consolidating formats 2012-07-20 08:58:17 +01:00
bnx2fc_debug.h [SCSI] bnx2fc: Reduce object size by consolidating formats 2012-07-20 08:58:17 +01:00
bnx2fc_els.c [SCSI] bnx2fc: Update copyright dates 2013-05-02 07:32:25 -07:00
bnx2fc_fcoe.c [SCSI] bnx2fc: Bumped version to 1.0.14 2013-05-02 07:32:26 -07:00
bnx2fc_hwi.c bnx2x, cnic, bnx2i, bnx2fc: Fix bnx2i and bnx2fc regressions. 2013-09-18 12:24:32 -04:00
bnx2fc_io.c [SCSI] bnx2fc: Fixed a SCSI CMD cmpl race condition between ABTS and CLEANUP 2013-10-25 09:58:02 +01:00
bnx2fc_tgt.c [SCSI] bnx2fc: Update copyright dates 2013-05-02 07:32:25 -07:00
bnx2fc.h bnx2x, cnic, bnx2i, bnx2fc: Fix bnx2i and bnx2fc regressions. 2013-09-18 12:24:32 -04:00
Kconfig cnic: Fix select dependencies in bnx2fc/bnx2i Kconfig. 2011-08-12 03:00:47 -07:00
Makefile [SCSI] bnx2fc: Reduce object size by consolidating formats 2012-07-20 08:58:17 +01:00