android_kernel_samsung_msm8976/include/scsi
Mike Christie 77a23c21aa [SCSI] libiscsi: fix iscsi cmdsn allocation
The cmdsn allocation and pdu transmit code can race, and we can end
up sending a pdu with cmdsn 10 before a pdu with 5. The target will
then fail the connection/session. This patch fixes the problem by
delaying the cmdsn allocation until we are about to send the pdu.

This also removes the xmitmutex. We were using the connection xmitmutex
during error handling to handle races with mtask and ctask cleanup and
completion. For ctasks we now have nice refcounting and for the mtask,
if we hit the case where the mtask timesout and it is floating
around somewhere in the driver, we end up dropping the session.
And to handle session level cleanup, we use the xmit suspend bit
along with scsi_flush_queue and the session lock to make sure
that the xmit thread is not possibly transmitting a task while
we are trying to kill it.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-06-02 15:34:14 -04:00
..
iscsi_if.h [SCSI] iscsi class, iscsi_tcp, ib_iser: add sysfs chap file 2007-06-01 12:58:58 -04:00
iscsi_proto.h [SCSI] iscsi: rename DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH 2007-03-11 11:26:50 -05:00
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
libiscsi.h [SCSI] libiscsi: fix iscsi cmdsn allocation 2007-06-02 15:34:14 -04:00
libsas.h [SCSI] sas_scsi_host: Convert to use the kthread API 2007-05-06 09:33:17 -05:00
libsrp.h [SCSI] scsi tgt: SCSI RDMA Protocol library functions 2006-12-03 09:27:33 -06:00
sas.h [SCSI] aci94xx: implement link rate setting 2006-09-07 15:20:23 -05:00
scsi.h [SCSI] modalias for scsi devices 2007-04-17 18:15:04 -04:00
scsi_cmnd.h [SCSI] scsi_lib: add scatter/gather data buffer accessors 2007-05-26 16:29:59 -05:00
scsi_dbg.h [SCSI] constants.c: cleanup, verbose result printing 2007-03-11 11:14:02 -05:00
scsi_device.h [SCSI] modalias for scsi devices 2007-04-17 18:15:04 -04:00
scsi_devinfo.h
scsi_driver.h
scsi_eh.h [SCSI] remove scsi_request infrastructure 2006-06-10 16:24:40 -05:00
scsi_host.h [SCSI] introduce shost_priv helper 2007-05-31 17:29:25 -04:00
scsi_ioctl.h
scsi_netlink.h [SCSI] SCSI & FC transport: extend event vendor id's to 64bits 2006-09-02 15:35:15 -05:00
scsi_netlink_fc.h [SCSI] SCSI & FC transport: extend event vendor id's to 64bits 2006-09-02 15:35:15 -05:00
scsi_tcq.h [PATCH] helper function for retrieving scsi_cmd given host based block layer tag 2006-10-04 19:32:09 +02:00
scsi_tgt.h [SCSI] scsi tgt: scsi target lib functionality 2006-11-25 13:17:18 -06:00
scsi_tgt_if.h [SCSI] tgt: fix sesnse buffer problems 2007-03-11 11:39:27 -05:00
scsi_transport.h [SCSI] scsi_transport.h should include scsi_device.h 2007-02-16 10:14:42 -06:00
scsi_transport_fc.h [SCSI] fc_transport: fix sysfs deadlock on vport delete 2007-05-26 11:47:58 -05:00
scsi_transport_iscsi.h [SCSI] libiscsi: fix iscsi cmdsn allocation 2007-06-02 15:34:14 -04:00
scsi_transport_sas.h [SCSI] libsas: Clean up discovery failure handler code 2007-01-27 10:05:15 -06:00
scsi_transport_spi.h [SCSI] spi transport class: export spi_dv_pending 2007-02-02 20:44:25 -06:00
scsicam.h
sd.h [SCSI] sd: implement START/STOP management 2007-03-20 12:06:20 -05:00
sg.h [SCSI] sg: fixes for large page_size 2006-09-26 09:23:15 -07:00
srp.h [SCSI] srp.h: Add I/O Class values 2006-06-17 20:37:38 -07:00