1
linux/drivers/scsi
Mike Christie 60ecebf5a1 [SCSI] add refcouting around ctask usage in main IO patch
It is possible that a ctask could be completing and getting
cleaned up at the same time, we are finishing up the last
data transfer. This could then result in the data transfer
code using stale or invalid values. This patch adds a refcount
to the ctask. When the count goes to zero then we know the
transmit thread and recv thread or softirq are not touching
it and we can safely release it.

The eh should not need to grab a reference because it only cleans
up a task if it has both the xmit mutex and recv lock (or recv
side suspended).

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-09-02 13:37:07 -05:00
..
aacraid [SCSI] aacraid: Reset adapter in recovery timeout 2006-08-19 13:35:11 -07:00
aic7xxx Merge ../linux-2.6 2006-08-27 21:59:59 -05:00
aic7xxx_old Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
aic94xx [SCSI] aic94xx: Increase can_queue for better performance 2006-08-30 17:30:06 -04:00
arcmsr [SCSI] arcmsr: fix up sysfs values 2006-08-02 10:53:18 -04:00
arm [ARM] Fix Acorn platform SCSI driver build failures 2006-08-06 20:55:33 +01:00
dpt Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ibmvscsi [SCSI] ibmvscsi: handle inactive SCSI target during probe 2006-07-09 11:28:58 -05:00
libsas [SCSI] aic94xx: new driver 2006-08-29 09:52:29 -05:00
lpfc [SCSI] lpfc 8.1.9 : Change version number to 8.1.9 2006-08-19 13:46:47 -07:00
megaraid Merge ../linux-2.6 2006-08-27 21:59:59 -05:00
pcmcia Merge ../scsi-misc-2.6 2006-07-03 09:41:12 -05:00
qla2xxx [SCSI] qla2xxx: Update version number to 8.01.07-k1. 2006-08-26 09:26:57 -05:00
sym53c8xx_2 [SCSI] sym2: claim only "Storage" class 2006-07-28 11:46:38 -05:00
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
3w-9xxx.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
3w-9xxx.h [SCSI] 3ware 9000 add big endian support 2006-03-19 10:18:42 -06:00
3w-xxxx.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
3w-xxxx.h [SCSI] sem2mutex 3w-[x9]xxx 2006-01-14 10:55:12 -06:00
53c7xx_d.h_shipped
53c7xx_u.h_shipped
53c7xx.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
53c7xx.h
53c7xx.scr
53c700_d.h_shipped
53c700.c Merge ../scsi-misc-2.6 2006-07-03 09:41:12 -05:00
53c700.h [SCSI] 53c700: fix breakage caused by the autosense update 2006-06-29 13:15:15 -04:00
53c700.scr
a100u2w.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
a100u2w.h
a2091.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
a2091.h
a3000.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
a3000.h
advansys.c [SCSI] advansys pci tweaks. 2006-08-04 09:28:43 -04:00
advansys.h
aha152x.c [SCSI] hide EH backup data outside the scsi_cmnd 2006-07-09 11:56:44 -05:00
aha152x.h [SCSI] aha152x: fix variable use before initialisation and other bugs 2006-02-28 11:20:45 -06:00
aha1542.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
aha1542.h
aha1740.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
aha1740.h
ahci.c [PATCH] ahci: skip protocol test altogether in spurious interrupt code 2006-08-03 17:34:52 -04:00
aic7xxx_old.c [SCSI] remove unnecessary includes of linux/config.h from drivers/scsi/ 2006-08-19 13:39:11 -07:00
amiga7xx.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
amiga7xx.h
ata_piix.c [PATCH] ata_piix: implement force_pcs module parameter 2006-08-24 02:51:24 -04:00
atari_dma_emul.c
atari_NCR5380.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
atari_scsi.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
atari_scsi.h
atp870u.c Merge ../scsi-misc-2.6 2006-07-03 09:41:12 -05:00
atp870u.h
blz1230.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
blz2060.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
BusLogic.c [SCSI] BusLogic gcc 4.1 warning fixes 2006-08-19 16:18:28 -06:00
BusLogic.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
bvme6000.c
bvme6000.h
ch.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
constants.c [SCSI] update additional sense codes and some opcode names 2006-07-09 09:10:06 -05:00
cyberstorm.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
cyberstormII.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dc395x.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dc395x.h
dec_esp.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dmx3191d.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dpt_i2o.c [SCSI] remove unnecessary includes of linux/config.h from drivers/scsi/ 2006-08-19 13:39:11 -07:00
dpti.h
dtc.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dtc.h
eata_generic.h
eata_pio.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
eata_pio.h
eata.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
esp.c [SCSI] esp: Fix build on SUN4. 2006-08-23 15:33:07 -07:00
esp.h [SCSI] sparc: Port esp to new SBUS driver layer. 2006-06-23 23:15:54 -07:00
fastlane.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
fcal.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
fcal.h
fd_mcs.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
fdomain.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
fdomain.h
FlashPoint.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
g_NCR5380_mmio.c
g_NCR5380.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
g_NCR5380.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
gdth_ioctl.h
gdth_kcompat.h [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gdth_proc.c [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gdth_proc.h [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gdth.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
gdth.h [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gvp11.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
gvp11.h
hosts.c [SCSI] add shared tag map helpers 2006-08-31 11:18:03 -04:00
hosts.h
hptiop.c Merge ../linux-2.6 2006-08-27 21:59:59 -05:00
hptiop.h [SCSI] hptiop: HighPoint RocketRAID 3xxx controller driver 2006-06-10 10:36:13 -05:00
ibmmca.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
ibmmca.h
ide-scsi.c [PATCH] lockdep: annotate idescsi_pc_intr() 2006-08-27 11:01:32 -07:00
imm.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
imm.h remove the bouncing email address of David Campbell 2006-06-26 18:19:23 +02:00
in2000.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
in2000.h
initio.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
initio.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ipr.c [SCSI] ipr: Auto sense handling fix 2006-08-06 15:50:50 -05:00
ipr.h [SCSI] ipr: Bump driver version to 2.1.4 2006-08-06 15:51:12 -05:00
ips.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
ips.h
iscsi_tcp.c [SCSI] libiscsi, iscsi_tcp, iscsi_iser: check that burst lengths are valid. 2006-09-02 13:37:04 -05:00
iscsi_tcp.h [SCSI] libiscsi, iscsi_tcp, iscsi_iser: check that burst lengths are valid. 2006-09-02 13:37:04 -05:00
jazz_esp.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
Kconfig [SCSI] aic94xx: new driver 2006-08-29 09:52:29 -05:00
lasi700.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
libata-bmdma.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
libata-core.c [PATCH] libata: PHY reset requires writing 0x4 to SControl 2006-08-10 08:29:12 -04:00
libata-eh.c Merge ../linux-2.6 2006-08-27 21:59:59 -05:00
libata-scsi.c [PATCH] libata: clear sdev->locked on door lock failure 2006-08-09 01:16:27 -04:00
libata.h [PATCH] libata: make two functions global 2006-06-26 20:59:27 -04:00
libiscsi.c [SCSI] add refcouting around ctask usage in main IO patch 2006-09-02 13:37:07 -05:00
mac53c94.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
mac53c94.h
mac_esp.c [PATCH] m68k: convert mac irq code 2006-06-25 10:00:58 -07:00
mac_scsi.c [PATCH] m68k: convert mac irq code 2006-06-25 10:00:58 -07:00
mac_scsi.h
Makefile [SCSI] aic94xx: new driver 2006-08-29 09:52:29 -05:00
mca_53c9x.c
megaraid.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
megaraid.h [SCSI] megaraid_legacy: kobject_register failure 2006-02-12 11:11:09 -06:00
mesh.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
mesh.h
mvme16x.c
mvme16x.h
mvme147.c
mvme147.h
ncr53c8xx.c [PATCH] drivers: use list_move() 2006-06-26 09:58:18 -07:00
ncr53c8xx.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
NCR53c406a.c [SCSI] drivers/scsi: Use ARRAY_SIZE macro 2006-06-10 10:45:30 -05:00
NCR53C9x.c [PATCH] fix compile regression for a few scsi drivers 2006-07-26 07:30:45 -07:00
NCR53C9x.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
NCR5380.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
NCR5380.h
NCR_D700.c [SCSI] NCR_D700: misc fixes (section and argument ordering) 2006-07-12 12:03:43 -04:00
NCR_D700.h
NCR_Q720.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c Merge ../scsi-misc-2.6 2006-07-03 09:41:12 -05:00
nsp32.h
oktagon_esp.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
oktagon_io.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
osst_detect.h
osst_options.h
osst.c [PATCH] vfs: add lock owner argument to flush operation 2006-06-23 07:43:02 -07:00
osst.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
pas16.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
pas16.h
pci2000.h
pdc_adma.c [PATCH] libata: Use ATA_FLAG_PIO_POLLING for pdc_adma 2006-08-10 06:55:18 -04:00
pluto.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
pluto.h
ppa.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ppa.h remove the bouncing email address of David Campbell 2006-06-26 18:19:23 +02:00
psi240i.c
psi240i.h
psi_chip.h
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c Merge ../scsi-misc-2.6 2006-07-03 09:41:12 -05:00
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti_asm.c
qlogicpti.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
qlogicpti.h
raid_class.c [SCSI] drivers/scsi: Use ARRAY_SIZE macro 2006-06-10 10:45:30 -05:00
sata_mv.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sata_nv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sata_promise.c [libata] sata_promise: comment out duplicate PCI ID 2006-07-24 03:37:52 -04:00
sata_promise.h
sata_qstor.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sata_sil24.c [PATCH] sata_sil24: don't set probe_ent->mmio_base 2006-08-05 03:59:15 +09:00
sata_sil.c [PATCH] sata_sil: add suspend/sleep support 2006-07-05 22:16:28 -04:00
sata_sis.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sata_svw.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sata_sx4.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sata_uli.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sata_via.c [PATCH] sata_via: use old SCR access pattern on vt6420 2006-08-24 02:51:24 -04:00
sata_vsc.c [PATCH] sata_vsc: data_xfer should use mmio 2006-07-05 21:44:45 -04:00
script_asm.pl
scsi_debug.c [SCSI] scsi_debug: must_check fixes 2006-07-12 11:57:28 -04:00
scsi_debug.h
scsi_devinfo.c [SCSI] HP XP devinfo update 2006-06-26 09:30:00 -05:00
scsi_error.c [SCSI] fix scsi_send_eh_cmnd regression 2006-08-26 10:03:14 -05:00
scsi_ioctl.c [PATCH] scsi: kill overeager "not-ready" messages 2006-07-28 09:04:09 +02:00
scsi_lib.c [SCSI] limit recursion when flushing shost->starved_list 2006-08-19 13:31:53 -07:00
scsi_logging.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
scsi_module.c
scsi_priv.h [SCSI] hide EH backup data outside the scsi_cmnd 2006-07-09 11:56:44 -05:00
scsi_proc.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
scsi_sas_internal.h [SCSI] scsi_transport_sas: introduce a sas_port entity 2006-06-28 12:40:54 -04:00
scsi_scan.c [SCSI] SCSI: sanitize INQUIRY strings 2006-09-02 13:36:59 -05:00
scsi_sysctl.c
scsi_sysfs.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
scsi_transport_api.h [PATCH] SCSI: make scsi_implement_eh() generic API for SCSI transports 2006-05-20 00:39:08 -04:00
scsi_transport_fc.c [SCSI] fc transport: add fc_host system_hostname attribute and u64_to_wwn() 2006-08-19 13:43:10 -07:00
scsi_transport_iscsi.c [SCSI] iscsi bugfixes: update and move version number 2006-07-28 11:50:18 -05:00
scsi_transport_sas.c [SCSI] scsi_transport_sas: remove local_attached flag 2006-08-27 22:30:11 -05:00
scsi_transport_spi.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
scsi_typedefs.h [SCSI] remove scsi_request infrastructure 2006-06-10 16:24:40 -05:00
scsi.c [SCSI] sd: fix cache flushing on module removal (and individual device removal) 2006-09-01 17:56:56 -04:00
scsi.h [SCSI] remove unnecessary includes of linux/config.h from drivers/scsi/ 2006-08-19 13:39:11 -07:00
scsicam.c [SCSI] Bogus disk geometry on large disks 2006-06-26 16:33:10 -05:00
sd.c [SCSI] hide EH backup data outside the scsi_cmnd 2006-07-09 11:56:44 -05:00
seagate.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
seagate.h
sg.c [SCSI] sg: fix incorrect page problem 2006-08-26 09:25:06 -05:00
sgiwd93.c [SCSI] Make sgiwd93_detect and sgiwd93_detect static. 2006-03-12 09:24:55 -06:00
sim710.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
sr_ioctl.c [PATCH] kill cdrom ->dev_ioctl method 2006-03-23 07:38:09 -08:00
sr_vendor.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sr.c [SCSI] hide EH backup data outside the scsi_cmnd 2006-07-09 11:56:44 -05:00
sr.h [PATCH] kill cdrom ->dev_ioctl method 2006-03-23 07:38:09 -08:00
st_options.h
st.c [SCSI] st.c: Improve sense output 2006-07-09 11:27:03 -05:00
st.h [SCSI] st: remove unused st_buffer.in_use 2006-06-29 11:06:30 -04:00
sun3_NCR5380.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
sun3_scsi_vme.c
sun3_scsi.c
sun3_scsi.h
sun3x_esp.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
sym53c416.c
sym53c416.h
t128.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
t128.h
tmscsim.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
tmscsim.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
u14-34f.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
ultrastor.c
ultrastor.h
wd33c93.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
wd33c93.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
wd7000.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
zalon.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00