esp_scsi: fix reset cleanup spinlock recursion
Maciej W. Rozycki authored
patch 522939d4

 in mainline.

The esp_reset_cleanup() function is called with the host lock held and
invokes starget_for_each_device() which wants to take it too.  Here is a
fix along the lines of shost_for_each_device()/__shost_for_each_device()
adding a __starget_for_each_device() counterpart which assumes the lock
has already been taken.

Eventually, I think the driver should get modified so that more work is
done as a softirq rather than in the interrupt context, but for now it
fixes a bug that causes the spinlock debugger to fire.

While at it, it fixes a small number of cosmetic problems with
starget_for_each_device() too.
Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
79aa1979
Name Last commit Last update
..
acorn/char Remove the arm26 port
acpi ACPI: VIDEO: Adjust current level to closest available one.
amba uevent: use add_uevent_var() instead of open coding it
ata libata: sata_sis: use correct S/G table size
atm Add some help texts to recently-introduced kconfig items
auxdisplay cfag12864b fix
base Driver core: fix SYSF_DEPRECATED breakage for nested classdevs
block Future of Linux 2.6.22.y series
bluetooth [Bluetooth] Add missing stat.byte_rx counter modification
cdrom cdrom_open() forgets to unlock on -EROFS failure exits
char Freezer: Fix APM emulation breakage
clocksource x86_64: fix typo in acpi_pm.c
connector Use menuconfig objects: connector
cpufreq [CPUFREQ] Restore previously used governor on a hot-replugged CPU
crypto geode: Fix not inplace encryption
dio [PATCH] hp300: fix driver_register() return handling, remove dio_module_init()
dma dmaengine: fix broken device refcounting
edac drivers/edac: fix e752x correct return code
eisa virtual_eisa_root_init() should be __init
fc4 [PATCH] remove many unneeded #includes of sched.h
firewire firewire: point to migration document
firmware edd: switch to pci_get based API
hid Add some help texts to recently-introduced kconfig items
hwmon hwmon/lm87: Disable VID when it should be
i2c i2c/eeprom: Hide Sony Vaio serial numbers
ide
ieee1394
infiniband
input
isdn
kvm
leds
lguest
macintosh
mca
md
media
message
mfd
misc
mmc
mtd
net
nubus
of
oprofile
parisc
parport
pci
pcmcia
pnp
power
ps3
rapidio
rtc
s390
sbus
scsi
serial
sh
sn
spi
tc
telephony
uio
usb
video
w1
xen
zorro
Kconfig
Makefile