linux-stable/drivers
Mikael Pettersson cadef677e4 sata_promise: add ATA engine reset to reset ops
Promise ATA engines need to be reset when errors occur.
That's currently done for errors detected by sata_promise itself,
but it's not done for errors like timeouts detected outside of
the low-level driver.

The effect of this omission is that a timeout tends to result
in a sequence of failed COMRESETs after which libata EH gives
up and disables the port. At that point the port's ATA engine
hangs and even reloading the driver will not resume it.

To fix this, make sata_promise override ->hardreset on SATA
ports with code which calls pdc_reset_port() on the port in
question before calling libata's hardreset. PATA ports don't
use ->hardreset, so for those we override ->softreset instead.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-11-04 01:08:03 -05:00
..
accessibility
acpi ACPI suspend: build fix for ACPI_SLEEP=n && XEN_SAVE_RESTORE=y. 2008-10-25 04:07:13 -04:00
amba
ata sata_promise: add ATA engine reset to reset ops 2008-11-04 01:08:03 -05:00
atm
auxdisplay
base sysfs: Fix return values for sysdev_store_{ulong,int} 2008-10-29 15:03:49 -07:00
block fs: remove prepare_write/commit_write 2008-10-30 11:38:45 -07:00
bluetooth bpa10x: free sk_buff with kfree_skb 2008-10-31 00:40:19 -07:00
cdrom gdrom: Fix compile error 2008-10-28 17:46:02 +09:00
char saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
clocksource Merge branches 'timers/clocksource', 'timers/hrtimers', 'timers/nohz', 'timers/ntp', 'timers/posixtimers' and 'timers/debug' into v28-timers-for-linus 2008-10-20 13:14:06 +02:00
connector
cpufreq
cpuidle Merge branch 'v28-range-hrtimers-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-23 10:53:02 -07:00
crypto
dca
dio
dma Merge branch 'i7300_idle' into release 2008-10-25 04:07:44 -04:00
edac edac: fix enabling of polling cell module 2008-10-30 11:38:46 -07:00
eisa
firewire firewire: fw-sbp2: fix races 2008-10-26 10:27:01 +01:00
firmware x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
gpio mfd: twl4030-gpio driver 2008-10-22 01:19:39 +02:00
gpu Merge branch 'io-mappings-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-11-03 10:15:40 -08:00
hid saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
hwmon hwmon: (abituguru3) enable DMI probing feature on AW9D-MAX 2008-10-26 17:04:40 +01:00
i2c i2c-s3c2410: Correct use of ! and & 2008-10-30 15:55:47 +01:00
ide ide-gd: re-get capacity on revalidate 2008-11-02 21:40:10 +01:00
idle i7300_idle: Cleanup based review comments 2008-10-24 12:55:14 -04:00
ieee1394 saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
infiniband saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
input saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
isdn
leds remove unused #include <version.h>'s 2008-11-01 09:50:12 -07:00
lguest
macintosh
mca
md Merge branch 'for-linus' of git://neil.brown.name/md 2008-10-30 18:36:16 -07:00
media V4L/DVB (9336): cx88: always de-alloc frontends on fault condition 2008-10-21 14:32:12 -02:00
memstick [PATCH] switch memstick 2008-10-21 07:48:33 -04:00
message saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
mfd missing dependencies on HAVE_CLK in drivers/mfd 2008-11-01 12:40:38 -07:00
misc remove unused #include <version.h>'s 2008-11-01 09:50:12 -07:00
mmc [ARM] 5322/1: Fix fastpath issue in mmci.c 2008-10-28 00:00:42 +00:00
mtd [PATCH] propagate mode through open_bdev_excl/close_bdev_excl 2008-10-21 07:49:00 -04:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-11-02 10:15:52 -08:00
nubus
of OF-device: Don't overwrite numa_node in device registration 2008-10-31 16:12:01 +11:00
oprofile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile 2008-10-23 10:05:40 -07:00
parisc [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04:00
parport Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-30 12:52:53 -07:00
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-10-30 12:09:44 -07:00
pcmcia Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-31 16:18:02 +09:00
pnp Merge branch 'linus' into test 2008-10-23 00:11:07 -04:00
power Merge git://git.infradead.org/battery-2.6 2008-10-20 09:44:30 -07:00
ps3 ps3: Add passthru support for non-audio streams 2008-10-20 08:05:15 +02:00
rapidio
regulator regulator: da903x regulator bug fix 2008-10-30 15:31:35 +00:00
rtc saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-30 11:46:28 -07:00
sbus
scsi saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
serial Merge branch 'cris_move' of git://www.jni.nu/cris 2008-11-01 09:51:51 -07:00
sh
sn
spi
ssb
staging saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
tc
telephony saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
thermal
uio saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
usb saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
uwb uwb: wrong sizeof argument in mac address compare 2008-10-20 14:37:53 +01:00
video section fixes for cirrusfb 2008-11-01 12:40:38 -07:00
virtio
w1 x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
watchdog [PATCH] Switch all my contributions stuff to a single common address 2008-10-28 19:16:11 +00:00
xen xen: compilation fix of drivers/xen/events.c on IA64 2008-10-23 21:54:37 +02:00
zorro
Kconfig regulator: Build on non-ARM platforms 2008-10-28 21:47:17 +00:00
Makefile Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb 2008-10-26 16:35:46 -07:00