linux/drivers
Tejun Heo 1ae463171c libata: improve SCSI scan failure handling
SCSI scan may fail due to memory allocation failure even if EH is not
in progress.  Due to use of GFP_ATOMIC in SCSI scan path, allocation
failure isn't too rare especially while probing multiple devices at
once which is the case when a bunch of devices are connected to PMP.

This patch moves SCSI scan failure detetion logic from
ata_scsi_hotplug() to ata_scsi_scan_host() and implement synchronous
scan behavior.  The synchronous path sleeps briefly and repeats SCSI
scan if some devices aren't attached properly.  It contains robust
retry loop to minimize the chance of device misdetection during boot
and falls back to async retry if everything fails.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-07-20 08:26:25 -04:00
..
acorn
acpi mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
amba
ata libata: improve SCSI scan failure handling 2007-07-20 08:26:25 -04:00
atm [ATM]: nicstar needs virt_to_bus 2007-07-18 02:13:42 -07:00
auxdisplay Use menuconfig objects II - auxdisplay 2007-07-16 09:05:40 -07:00
base PM: Do not require dev spew to get PM_DEBUG 2007-07-19 10:04:42 -07:00
block mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
bluetooth [Bluetooth] Remove the redundant non-seekable llseek method 2007-07-11 06:53:45 +02:00
cdrom bsg: add a request_queue argument to scsi_cmd_ioctl() 2007-07-16 08:52:45 +02:00
char random: fix bound check ordering (CVE-2007-3105) 2007-07-19 14:21:04 -07:00
clocksource PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
connector Use menuconfig objects: connector 2007-07-16 09:05:40 -07:00
cpufreq [CPUFREQ] Restore previously used governor on a hot-replugged CPU 2007-07-13 01:29:51 -04:00
crypto Use menuconfig objects: crypto hw 2007-07-16 09:05:40 -07:00
dio
dma dma-mapping: prevent dma dependent code from linking on !HAS_DMA archs 2007-07-16 09:05:45 -07:00
edac drivers/edac: fix edac_device sysfs corner case bug 2007-07-19 10:04:57 -07:00
eisa
fc4
firewire firewire: fw-sbp2: convert to new SCSI data buffer accessors 2007-07-18 23:53:28 +02:00
firmware edd: switch to pci_get based API 2007-07-16 09:05:42 -07:00
hid USB: add reset_resume method 2007-07-12 16:34:30 -07:00
hwmon Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 2007-07-19 14:24:57 -07:00
i2c Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 2007-07-19 14:24:57 -07:00
ide ide: add support for SCSI ioctls to ide-floppy 2007-07-20 01:11:59 +02:00
ieee1394 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
infiniband mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
input some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
isdn isdn/sc: compile breakage re check_reset() 2007-07-19 10:04:50 -07:00
kvm mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
leds
lguest lguest: the Makefile and Kconfig 2007-07-19 10:04:52 -07:00
macintosh some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
mca
md mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
media some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
message mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
mfd some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
misc some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
mmc some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
mtd mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
net Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-07-19 10:23:21 -07:00
nubus some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
oprofile
parisc serial: add early_serial_setup() back to header file 2007-07-18 08:38:22 -07:00
parport some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
pci some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
pcmcia PM: remove deprecated dpm_runtime_* routines 2007-07-18 15:49:49 -07:00
pnp some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
power Merge git://git.infradead.org/battery-2.6 2007-07-15 16:56:12 -07:00
ps3
rapidio some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
rtc RTC: add periodic irq support to rtc-cmos 2007-07-19 10:04:52 -07:00
s390 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
sbus some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
scsi mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
serial some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sh some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sn some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
spi use mutex instead of semaphore in SPI core/init code 2007-07-17 10:23:05 -07:00
tc zs: move to the serial subsystem 2007-07-18 08:38:22 -07:00
telephony some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
uio UIO: Hilscher CIF card driver 2007-07-18 15:57:16 -07:00
usb mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-07-19 14:28:19 -07:00
w1 some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
xen xen: add the Xenbus sysfs and virtual device hotplug driver 2007-07-18 08:47:45 -07:00
zorro sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes 2007-07-11 16:09:09 -07:00
Kconfig lguest: the Makefile and Kconfig 2007-07-19 10:04:52 -07:00
Makefile lguest: the Makefile and Kconfig 2007-07-19 10:04:52 -07:00