android_kernel_samsung_univ.../drivers
Jeff Garzik f281233d3e SCSI host lock push-down
Move the mid-layer's ->queuecommand() invocation from being locked
with the host lock to being unlocked to facilitate speeding up the
critical path for drivers who don't need this lock taken anyway.

The patch below presents a simple SCSI host lock push-down as an
equivalent transformation.  No locking or other behavior should change
with this patch.  All existing bugs and locking orders are preserved.

Additionally, add one parameter to queuecommand,
	struct Scsi_Host *
and remove one parameter from queuecommand,
	void (*done)(struct scsi_cmnd *)

Scsi_Host* is a convenient pointer that most host drivers need anyway,
and 'done' is redundant to struct scsi_cmnd->scsi_done.

Minimal code disturbance was attempted with this change.  Most drivers
needed only two one-line modifications for their host lock push-down.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Acked-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-11-16 13:33:23 -08:00
..
accessibility
acpi ACPI: debugfs custom_method open to non-root 2010-11-13 09:52:16 -08:00
amba
ata SCSI host lock push-down 2010-11-16 13:33:23 -08:00
atm
auxdisplay
base
block SCSI host lock push-down 2010-11-16 13:33:23 -08:00
bluetooth
cdrom
char Fix gcc 4.5.1 miscompiling drivers/char/i8k.c (again) 2010-11-15 13:27:06 -08:00
clocksource
connector
cpufreq
cpuidle
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2010-11-13 09:55:56 -08:00
dca
dio
dma
edac
eisa
firewire SCSI host lock push-down 2010-11-16 13:33:23 -08:00
firmware
gpio
gpu
hid
hwmon hwmon: (w83795) Check for BEEP pin availability 2010-11-15 21:38:57 +01:00
i2c i2c: Sanity checks on adapter registration 2010-11-15 22:40:38 +01:00
ide
idle
ieee802154
infiniband SCSI host lock push-down 2010-11-16 13:33:23 -08:00
input Input: do not pass injected events back to the originating handler 2010-11-11 01:01:26 -08:00
isdn
leds drivers/leds/leds-gpio.c: properly initialize return value 2010-11-12 07:55:32 -08:00
lguest
macintosh drivers/macintosh/adb-iop.c: flags should be unsigned long 2010-11-12 07:55:30 -08:00
mca
md block: read i_size with i_size_read() 2010-11-10 14:40:53 +01:00
media i2c: Drivers shouldn't include <linux/i2c-id.h> 2010-11-15 22:40:38 +01:00
memstick
message SCSI host lock push-down 2010-11-16 13:33:23 -08:00
mfd
misc i2c: Remove obsolete cleanup for clientdata 2010-11-15 22:40:38 +01:00
mmc
mtd
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-11-12 17:17:55 -08:00
nubus
of
oprofile
parisc
parport
pci PCI: fix offset check for sysfs mmapped files 2010-11-16 09:15:39 -08:00
pcmcia drivers/pcmcia/soc_common.c: Use printf extension %pV 2010-11-10 14:31:28 +01:00
platform
pnp
power
pps
ps3
rapidio rapidio: use resource_size() 2010-11-12 07:55:30 -08:00
regulator
rtc Merge branches 'sh/rtc' and 'common/clkfwk' into sh/urgent 2010-11-10 18:15:44 +09:00
s390 SCSI host lock push-down 2010-11-16 13:33:23 -08:00
sbus
scsi SCSI host lock push-down 2010-11-16 13:33:23 -08:00
serial Revert "8250: Fix tcsetattr to avoid ioctl(TIOCMIWAIT) hang" 2010-11-13 09:59:19 -08:00
sfi
sh sh: intc: Fix up build failure introduced by radix tree changes. 2010-11-15 14:30:30 +09:00
sn
spi
ssb
staging SCSI host lock push-down 2010-11-16 13:33:23 -08:00
tc
telephony
thermal
tty n_gsm: Fix length handling 2010-11-11 11:06:09 -08:00
uio
usb SCSI host lock push-down 2010-11-16 13:33:23 -08:00
uwb UWB: Return UWB_RSV_ALLOC_NOT_FOUND rather than crashing on NULL dereference if kzalloc fails 2010-11-11 07:14:07 -08:00
vhost
video Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2010-11-15 14:03:17 -08:00
virtio
vlynq
w1
watchdog
xen Merge branch 'upstream/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2010-11-12 16:01:55 -08:00
zorro
Kconfig
Makefile