linux/drivers/scsi/libsas
Darrick J. Wong b218a0d8e2 [SCSI] libsas: Don't give scsi_cmnds to the EH if they never made it to the SAS LLDD or have already returned
On a system with many SAS targets, it appears possible that a scsi_cmnd
can time out without ever making it to the SAS LLDD or at the same time
that a completion is occurring.  In both of these cases, telling the
LLDD to abort the sas_task makes no sense because the LLDD won't know
about the sas_task; what we really want to do is to increase the timer.
Note that this involves creating another sas_task bit to indicate
whether or not the task has been sent to the LLDD; I could have
implemented this by slightly redefining SAS_TASK_STATE_PENDING, but
this way seems cleaner.

This second version amends the aic94xx portion to set the
TASK_AT_INITIATOR flag for all sas_tasks that were passed to
lldd_execute_task.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-01-13 16:12:39 -06:00
..
Kconfig [SCSI] aic94xx: new driver 2006-08-29 09:52:29 -05:00
Makefile [SCSI] aic94xx: new driver 2006-08-29 09:52:29 -05:00
sas_discover.c [SCSI] libsas: Clean up rphys/port dev list after a discovery error. 2007-01-13 14:23:36 -06:00
sas_dump.c [SCSI] aic94xx: new driver 2006-08-29 09:52:29 -05:00
sas_dump.h [SCSI] aic94xx: new driver 2006-08-29 09:52:29 -05:00
sas_event.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
sas_expander.c [SCSI] libsas: Clean up rphys/port dev list after a discovery error on an expander 2007-01-13 14:24:25 -06:00
sas_init.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
sas_internal.h WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
sas_phy.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
sas_port.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
sas_scsi_host.c [SCSI] libsas: Don't give scsi_cmnds to the EH if they never made it to the SAS LLDD or have already returned 2007-01-13 16:12:39 -06:00