linux/drivers/staging
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
..
adis16255 staging: adis16255: fix sysfs leak 2010-08-31 14:51:53 -07:00
asus_oled Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
ath6kl Staging: ath6kl: Fix pointer casts on 64-bit architectures 2010-11-09 16:49:02 -08:00
autofs convert get_sb_nodev() users 2010-10-29 04:16:31 -04:00
batman-adv Staging: batman-adv: suppress false warning when changing the mac address 2010-11-09 16:21:27 -08:00
bcm Staging: bcm: use get_user() to access user pointers 2010-11-09 13:32:36 -08:00
brcm80211 Staging: Update parameters for cfg80211 key management operation 2010-11-09 16:49:33 -08:00
comedi staging: Final semaphore cleanup 2010-10-30 12:12:50 +02:00
cpia staging: cpia: fix camera file owner in cpia_open() 2010-11-09 13:24:12 -08:00
crystalhd Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
cx25821 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2010-10-28 12:13:00 -07:00
cxt1e1 Staging: cxt1e1: multiple definition of max_mtu fix 2010-10-19 10:12:14 -07:00
dt3155v4l V4L/DVB: videobuf: add queue argument to videobuf_waiton() 2010-10-21 01:06:14 -02:00
easycap Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
echo
et131x Staging: et131x: Makefile: replace the use of <module>-objs with <module>-y 2010-10-08 07:23:49 -07:00
frontier Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
ft1000 drivers/staging: delete double assignment 2010-11-09 14:05:22 -08:00
go7007 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2010-10-28 12:13:00 -07:00
hv SCSI host lock push-down 2010-11-16 13:33:23 -08:00
iio Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
intel_sst Staging: sst: add some __user anotations 2010-11-09 13:31:49 -08:00
keucr SCSI host lock push-down 2010-11-16 13:33:23 -08:00
line6 Staging: line6: Makefile: replace the use of <module>-objs with <module>-y 2010-10-08 07:23:47 -07:00
lirc Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2010-10-28 12:13:00 -07:00
memrar llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
msm staging: Final semaphore cleanup 2010-10-30 12:12:50 +02:00
octeon Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
olpc_dcon i2c: Drivers shouldn't include <linux/i2c-id.h> 2010-11-15 22:40:38 +01:00
panel llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
phison Staging: phison: fix problem caused by libata change 2010-10-09 13:26:12 -07:00
pohmelfs convert get_sb_nodev() users 2010-10-29 04:16:31 -04:00
quatech_usb2 staging/trivial: fix typos concerning "initiali[zs]e" 2010-09-04 21:23:26 -07:00
quickstart Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
rt2860 staging: rt2870: Add new USB ID for Belkin F6D4050 v1 2010-11-09 14:05:23 -08:00
rt2870 Staging: rt2870: Makefile: replace the use of <module>-objs with <module>-y 2010-10-08 07:23:46 -07:00
rtl8187se Staging: rtl8187se: Makefile: replace the use of <module>-objs with <module>-y 2010-10-08 07:23:45 -07:00
rtl8192e Staging: rtl8192e: fix IOMMU memory leak 2010-11-09 14:05:23 -08:00
rtl8192u Staging: rtl8192u: Makefile: replace the use of <module>-objs with <module>-y 2010-10-08 07:23:42 -07:00
rtl8712 staging: Final semaphore cleanup 2010-10-30 12:12:50 +02:00
samsung-laptop
sbe-2t3e3 Staging: sbe-2t3e3: Makefile: replace the use of <module>-objs with <module>-y 2010-10-08 07:23:45 -07:00
serqt_usb2
slicoss staging: slicoss: use free_netdev(netdev) instead of kfree() 2010-09-30 04:14:21 -07:00
sm7xx staging: sm7xx: call disable_pci_device() if pci_probe() failed 2010-08-31 14:48:09 -07:00
smbfs Merge branches 'irq-core-for-linus' and 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-31 20:40:24 -04:00
solo6x10 Staging: solo6x10: fix build problem 2010-11-02 08:39:05 -07:00
speakup staging: speakup: fix memory leak 2010-10-19 10:10:54 -07:00
spectra Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
stradis staging: stradis: fix error handling and information leak to userland 2010-11-09 13:24:13 -08:00
ti-st staging: ti-st: move TI_ST from staging to misc/ 2010-10-06 08:25:06 -07:00
tidspbridge Revert "staging: tidspbridge: replace iommu custom for opensource implementation" 2010-11-10 18:34:44 -06:00
tm6000 [media] tm6000: bugfix set tv standards 2010-11-09 15:03:20 -02:00
udlfb Staging: udlfb.c: Fix k.alloc switched arguments 2010-11-09 14:05:24 -08:00
usbip Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
vme Staging: vme: Assure D16 cycle if required in master_read and master_write 2010-09-30 04:33:26 -07:00
vt6655 Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
vt6656 staging: vt6656: implement missing brackets 2010-11-09 14:05:23 -08:00
westbridge drivers/staging: delete double assignment 2010-11-09 14:05:22 -08:00
winbond Staging: winbond: Makefile: replace the use of <module>-objs with <module>-y 2010-10-08 07:23:40 -07:00
wlags49_h2 Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
wlags49_h25 Staging: wlags49_h25: Makefile: cleaned up Makefile cflag lines 2010-10-05 11:56:38 -07:00
wlan-ng Staging: wlan-ng: Fix wrong #ifdef #endif sequence 2010-11-09 16:51:42 -08:00
xgifb Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
zram Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
Kconfig Staging: dream: remove dream driver and arch from tree 2010-10-29 12:42:18 -07:00
Makefile Staging: dream: remove dream driver and arch from tree 2010-10-29 12:42:18 -07:00
staging.c