linux/drivers
Herbert Xu 6072f7491f ide: Requeue request after DMA timeout
I noticed that my KVM virtual machines were experiencing IDE
issues resulting in processes stuck on waiting for buffers to
complete.

The root cause is of course race conditions in the ancient qemu
backend that I'm using.  However, the fact that the guest isn't
recovering is a bug.

I've tracked it down to the change made last year to dequeue
requests at the start rather than at the end in the IDE layer.

commit 8f6205cd57
Author: Tejun Heo <tj@kernel.org>
Date:   Fri May 8 11:53:59 2009 +0900

    ide: dequeue in-flight request

The problem is that the function ide_dma_timeout_retry does not
requeue the current request, causing one request to be lost for
each DMA timeout.

This patch fixes this by requeueing the request.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-04-01 01:31:13 -07:00
..
accessibility
acpi acpi: Support IBM SMBus CMI devices 2010-03-24 14:38:37 +01:00
amba
ata libata-sff: fix spurious IRQ handling 2010-03-23 09:39:08 -04:00
atm atm: use for_each_set_bit() 2010-03-15 16:00:47 -07:00
auxdisplay auxdisplay: move cfag12864bfb's probe function to .devinit.text 2010-03-07 17:04:50 -08:00
base power: support _noirq actions on device types and classes 2010-03-24 11:00:02 +01:00
block Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
bluetooth
cdrom
char Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel 2010-03-24 16:42:43 -07:00
clocksource
connector
cpufreq Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
cpuidle Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
crypto Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
dca
dio
dma Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
edac edac, mce: Filter out invalid values 2010-03-22 16:33:31 +01:00
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2010-03-26 15:07:46 -07:00
firmware Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
gpio drivers/gpio/max730x.c: add license macro 2010-03-24 16:31:20 -07:00
gpu Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2010-03-26 16:34:29 -07:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2010-03-18 16:52:31 -07:00
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2010-03-06 11:33:09 -08:00
i2c i2c-scmi: Provide module aliases for automatic loading 2010-03-24 14:38:39 +01:00
ide ide: Requeue request after DMA timeout 2010-04-01 01:31:13 -07:00
idle
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
ieee802154
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2010-03-19 13:39:42 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-03-14 11:13:54 -07:00
isdn isdn: Cleanup Sections in PCMCIA driver elsa 2010-03-25 11:58:02 -07:00
leds leds: Fix race between LED device uevent and actual attributes creation 2010-03-16 20:27:25 +00:00
lguest
macintosh backlight: Allow properties to be passed at registration 2010-03-16 19:47:54 +00:00
mca
md Merge branch 'for-linus' of git://neil.brown.name/md 2010-03-18 16:55:24 -07:00
media Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-03-14 11:13:54 -07:00
memstick
message Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 2010-03-12 16:41:09 -08:00
misc c2port: fix device_create() return value check 2010-03-24 16:31:21 -07:00
mmc mmc: fix incorrect interpretation of card type bits 2010-03-24 16:31:21 -07:00
mtd Delete zero-length file drivers/mtd/maps/omap_nor.c 2010-03-19 14:25:45 -04:00
net via-velocity: Fix FLOW_CNTL_TX_RX handling in set_mii_flow_control() 2010-03-25 11:56:32 -07:00
nubus
of
oprofile
parisc Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
parport Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2010-03-26 16:34:29 -07:00
pcmcia Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2010-03-26 16:34:29 -07:00
platform backlight: panasonic-laptop - Fix incomplete registration failure handling 2010-03-16 20:13:31 +00:00
pnp PNPACPI: add bus number support 2010-03-14 20:08:38 -04:00
power Merge branches 'battery-2.6.34', 'bugzilla-10805', 'bugzilla-14668', 'bugzilla-531916-power-state', 'ht-warn-2.6.34', 'pnp', 'processor-rename', 'sony-2.6.34', 'suse-bugzilla-531547', 'tz-check', 'video' and 'misc-2.6.34' into release 2010-03-14 21:30:17 -04:00
pps pps: serial clients support 2010-03-12 15:52:43 -08:00
ps3
rapidio
regulator regulator: fix dangling pointers 2010-03-22 19:46:16 +00:00
rtc rtc/mc13783: fix use after free bug 2010-03-24 16:31:19 -07:00
s390 [S390] fix broken proc interface for sclp_async 2010-03-24 11:49:53 +01:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2010-03-18 16:54:31 -07:00
serial SH: remove superfluous warning from the serial driver 2010-03-23 13:33:51 +09:00
sfi
sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-03-19 18:16:20 -07:00
sn
spi Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6 2010-03-18 17:01:19 -07:00
ssb
staging backlight: Allow properties to be passed at registration 2010-03-16 19:47:54 +00:00
tc
telephony
thermal
uio UIO: Remove SMX Cryptengine driver 2010-03-07 17:04:51 -08:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 2010-03-19 13:40:03 -07:00
uwb Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb 2010-03-19 18:14:22 -07:00
vhost vhost: fix error handling in vring ioctls 2010-03-17 23:07:35 +02:00
video Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux 2010-03-24 16:52:15 -07:00
virtio
vlynq
w1 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
watchdog [WATCHDOG] i6300esb.c: change platform_driver to pci_driver 2010-03-08 13:48:01 +00:00
xen Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
zorro
Kconfig
Makefile Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00