linux/drivers
Tejun Heo 877f13134b libata-sff: fix HSM_ST_ERR handling in __ata_sff_port_intr()
commit 687a993339 upstream.

While separating out BMDMA irq handler from SFF, commit c3b28894
(libata-sff: separate out BMDMA irq handler) incorrectly made
__ata_sff_port_intr() consider an IRQ to be an idle one if the host
state was transitioned to HSM_ST_ERR by ata_bmdma_port_intr().

This makes BMDMA drivers ignore IRQs reporting host bus error which
leads to timeouts instead of triggering EH immediately.  Fix it by
making __ata_sff_port_intr() consider the IRQ to be an idle one iff
the state is HSM_ST_IDLE.  This is equivalent to adding HSM_ST_ERR to
the "break"ing case but less error-prone.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Antonio Toma <antonio.toma@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-07 13:58:48 -08:00
..
accessibility
acpi ACPI: EC: Add another dmi match entry for MSI hardware 2011-01-07 13:58:31 -08:00
amba
ata libata-sff: fix HSM_ST_ERR handling in __ata_sff_port_intr() 2011-01-07 13:58:48 -08:00
atm ATM: iphase, remove sleep-inside-atomic 2010-10-11 11:05:42 -07:00
auxdisplay
base PM: Prevent waiting forever on asynchronous resume after failing suspend 2010-09-09 00:49:43 +02:00
block xen: Provide a variant of __RING_SIZE() that is an integer constant expression 2011-01-07 13:58:31 -08:00
bluetooth bluetooth: Fix missing NULL check 2010-11-22 11:03:01 -08:00
cdrom
char RAMOOPS: Don't overflow over non-allocated regions 2011-01-07 13:58:42 -08:00
clocksource
connector
cpufreq
cpuidle cpuidle: Fix typos 2010-09-28 23:30:38 -04:00
crypto crypto: padlock - Fix AES-CBC handling on odd-block-sized input 2010-12-09 13:33:31 -08:00
dca dca: disable dca on IOAT ver.3.0 multiple-IOH platforms 2010-09-17 20:08:21 -07:00
dio
dma mv_xor: fix race in tasklet function 2011-01-07 13:58:48 -08:00
edac amd64_edac: Fix interleaving check 2011-01-07 13:58:17 -08:00
eisa
firewire firewire: ohci: fix regression with Agere FW643 rev 06, disable MSI 2011-01-07 13:58:15 -08:00
firmware Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2010-08-14 12:34:34 -07:00
gpio cs5535-gpio: handle GPIO regs where higher (clear) bits are set 2011-01-07 13:58:40 -08:00
gpu drm/i915, intel_ips: When i915 loads after IPS, make IPS relink to i915. 2011-01-07 13:58:45 -08:00
hid HID: Fix for problems with eGalax/DWAV multi-touch-screen 2010-12-09 13:32:42 -08:00
hwmon hwmon: (adm1026) Fix setting fan_div 2011-01-07 13:58:17 -08:00
i2c i2c-pca-platform: Change device name of request_irq 2010-12-09 13:32:14 -08:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 2010-09-19 11:06:34 -07:00
idle intel_idle: do not use the LAPIC timer for ATOM C2 2010-11-22 11:03:03 -08:00
ieee1394
ieee802154
infiniband IB/uverbs: Handle large number of entries in poll CQ 2011-01-07 13:58:19 -08:00
input Input: synaptics - fix handling of 2-button ClickPads 2011-01-07 13:58:35 -08:00
isdn isdn/gigaset: bas_gigaset locking fix 2010-12-09 13:32:14 -08:00
leds leds: fix bug with reading NAS SS4200 dmi code 2010-12-09 13:33:21 -08:00
lguest
macintosh via-pmu: Add compat_pmu_ioctl 2010-08-24 15:28:28 +10:00
mca
md md: protect against NULL reference when waiting to start a raid10. 2011-01-07 13:58:33 -08:00
media msp3400: fix mute audio regression 2010-12-09 13:33:33 -08:00
memstick
message fusion: add function parameter names to kernel-doc 2010-08-14 16:21:00 -07:00
mfd mfd: Supply IRQ base for WM832x devices 2011-01-07 13:58:44 -08:00
misc sgi-xpc: XPC fails to discover partitions with all nasids above 128 2010-12-09 13:32:36 -08:00
mmc mmc: Fix re-probing with PM_POST_RESTORE notification 2011-01-07 13:58:41 -08:00
mtd mxc_nand: do not depend on disabling the irq in the interrupt handler 2010-10-18 13:09:05 -07:00
net p54usb: New USB ID for Gemtek WUBI-100GW 2011-01-07 13:58:37 -08:00
nubus
of
oprofile oprofile: Fix the hang while taking the cpu offline 2010-12-09 13:32:33 -08:00
parisc
parport
pci x86, vt-d: Quirk for masking vtd spec errors to platform error handling logic 2011-01-07 13:58:34 -08:00
pcmcia ARM: 6456/1: Fix for building DEBUG with sa11xx_base.c as a module. 2010-12-09 13:33:25 -08:00
platform drm/i915, intel_ips: When i915 loads after IPS, make IPS relink to i915. 2011-01-07 13:58:45 -08:00
pnp PNPACPI: cope with invalid device IDs 2010-12-09 13:33:13 -08:00
power olpc_battery: Fix endian neutral breakage for s16 values 2010-12-09 13:32:30 -08:00
pps
ps3
rapidio
regulator Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2010-10-07 13:44:30 -07:00
rtc rtc: rs5c372: fix buffer size 2011-01-07 13:58:42 -08:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-28 12:01:26 -07:00
sbus
scsi qla2xxx: Populate Command Type 6 LUN field properly. 2011-01-07 13:58:20 -08:00
serial serial: mfd: adjust the baud rate setting 2010-12-09 13:33:22 -08:00
sfi
sh
sn
spi of/spi: Fix OF-style driver binding of spi devices 2010-10-02 21:28:29 -06:00
ssb ssb: b43-pci-bridge: Add new vendor for BCM4318 2010-12-09 13:32:36 -08:00
staging Staging: batman-adv: ensure that eth_type_trans gets linear memory 2010-12-09 13:33:25 -08:00
tc
telephony
thermal
uio
usb xhci: Fix issue with port array setup and buggy hosts. 2011-01-07 13:58:37 -08:00
uwb
vhost vhost: fix log ctx signalling 2010-09-22 16:21:33 +02:00
video backlight: grab ops_lock before testing bd->ops 2010-12-09 13:33:16 -08:00
virtio
vlynq
w1
watchdog watchdog: Fix null pointer dereference while accessing rdc321x platform_data 2011-01-07 13:58:43 -08:00
xen xen: ensure that all event channels start off bound to VCPU 0 2010-12-09 13:32:37 -08:00
zorro
Kconfig
Makefile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2010-09-17 10:23:08 -07:00