linux/drivers
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
..
acorn [ARM] Acorn: move the i2c bus driver into drivers/i2c 2007-03-04 20:40:50 +00:00
acpi acpi: fix potential call to a freed memory section. 2007-05-17 05:23:04 -07:00
amba uevent: use add_uevent_var() instead of open coding it 2007-04-27 10:57:29 -07:00
ata pata_hpt37x: Further improvements based on the IDE updates and vendor drivers 2007-05-25 17:29:59 -04:00
atm [ATM]: Use mutex instead of binary semaphore in idt77252 driver. 2007-05-24 16:36:45 -07:00
auxdisplay [S390] Kconfig: refine depends statements. 2007-05-10 15:46:07 +02:00
base Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
block [SCSI] Merge up to linux-2.6 head 2007-05-30 23:57:05 -05:00
bluetooth [Bluetooth] Always send HCI_Reset for Broadcom devices 2007-05-24 14:26:15 +02:00
cdrom mm: remove destroy_dirty_buffers from invalidate_bdev() 2007-05-07 12:12:55 -07:00
char random: fix seeding with zero entropy 2007-05-29 20:09:34 -07:00
clocksource ACPI: correct pathname in comment 2007-04-25 14:27:06 -04:00
connector [NETLINK]: Switch cb_lock spinlock to mutex and allow to override it 2007-04-25 22:29:03 -07:00
cpufreq Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
crypto [CRYPTO] geode: Fix in-place operations and set key 2007-05-24 21:23:24 +10:00
dio
dma [S390] Kconfig: unwanted menus for s390. 2007-05-10 15:46:07 +02:00
edac [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
eisa virtual_eisa_root_init() should be __init 2007-05-08 11:15:02 -07:00
fc4
firewire firewire: fix return code 2007-05-27 23:21:01 +02:00
firmware remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
hid USB HID: hiddev - fix race between hiddev_send_event() and hiddev_release() 2007-05-10 08:45:56 +02:00
hwmon hwmon/applesmc: Handle name file creation error and deletion 2007-05-27 22:17:43 +02:00
i2c [ARM] 4403/1: Make the PXA-I2C driver work with lockdep validator 2007-05-26 10:09:39 +01:00
ide ide serverworks warning fixes 2007-05-24 02:42:39 +02:00
ieee1394 [SCSI] Merge up to linux-2.6 head 2007-05-30 23:57:05 -05:00
infiniband [SCSI] libiscsi: fix iscsi cmdsn allocation 2007-06-02 15:34:14 -04:00
input [ARM] Fix some section mismatch warnings 2007-05-30 17:48:45 +01:00
isdn drivers/isdn/hardware/eicon/message.c warning fixes 2007-05-23 20:14:15 -07:00
kvm Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
leds [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
macintosh Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc 2007-05-29 13:42:28 -07:00
mca mca: add integrated device bus matching 2007-05-09 12:30:49 -07:00
md md: fix bug with linear hot-add and elsewhere 2007-05-23 20:14:14 -07:00
media V4L/DVB (5691): Ov7670: reset clkrc in rgb565 mode 2007-05-22 16:16:29 -03:00
message [SCSI] Merge up to linux-2.6 head 2007-05-30 23:57:05 -05:00
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-05-23 08:11:43 -07:00
misc Misc: phantom, take care of pci posting 2007-05-23 20:14:14 -07:00
mmc mmc: clean up unused parts of block driver 2007-05-24 06:51:02 +02:00
mtd Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
net ehea: Fixed multi queue RX bug 2007-05-30 10:00:16 -04:00
nubus
oprofile Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
parisc header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
parport parport_pc needs dma-mapping.h 2007-05-16 21:19:15 -07:00
pci Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
pcmcia fix hotplug for legacy platform drivers 2007-05-08 11:15:10 -07:00
pnp [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
ps3 Merge branch 'linux-2.6' 2007-05-08 13:37:51 +10:00
rapidio
rtc rtc kconfig clarification 2007-05-17 05:23:05 -07:00
s390 [SCSI] zfcp: IO stall after deleting and path checker changes after reenabling zfcp devices 2007-05-16 10:01:38 -04:00
sbus [SPARC] SBUS: display7seg.c needs asm/io.h 2007-05-13 22:22:47 -07:00
scsi [SCSI] libiscsi: fix iscsi cmdsn allocation 2007-06-02 15:34:14 -04:00
serial Merge master.kernel.org:/home/rmk/linux-2.6-arm 2007-05-30 10:04:01 -07:00
sh
sn
spi omap_uwire: SPI_CPHA mode bugfix 2007-05-23 20:14:15 -07:00
tc [PATCH] Fix build error on zs serial driver 2007-04-04 21:12:47 -07:00
telephony [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
usb USB: replace flush_workqueue with cancel_sync_work 2007-05-29 13:39:07 -07:00
video imxfb: fix memory hole 2007-05-23 20:14:13 -07:00
w1 [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
zorro Amiga Zorro bus: kill resource_size_t warnings 2007-05-04 17:59:08 -07:00
Kconfig firewire: put old and new stack into same Kconfig submenu 2007-03-09 22:02:38 +01:00
Makefile Merge branch 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2007-05-10 13:30:08 -07:00