tmp_suning_uos_patched/drivers/ide
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
..
aec62xx.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
ali14xx.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
alim15x3.c alim15x3: fix handling of UDMA enable bit 2010-01-19 01:52:31 -08:00
amd74xx.c amd74xx: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:32 -08:00
at91_ide.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
atiixp.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
au1xxx-ide.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6 2010-03-04 08:24:06 -08:00
buddha.c
cmd64x.c cmd64x: fix handling of address setup timings 2010-01-19 01:52:32 -08:00
cmd640.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/ide-2.6 2010-03-02 23:57:59 -08:00
cs5520.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
cs5530.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
cs5535.c cs5535: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:33 -08:00
cs5536.c cs5536: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:33 -08:00
cy82c693.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
delkin_cb.c
dtc2278.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
falconide.c
gayle.c
hpt366.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
ht6560b.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
icside.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/ide-2.6 2010-03-02 23:57:59 -08:00
ide_platform.c drivers/ide/ide_platform.c: use resource_size() 2009-11-23 10:30:34 -08:00
ide-4drives.c
ide-acpi.c ACPI: replace acpi_integer by u64 2010-01-28 01:47:33 -05:00
ide-atapi.c
ide-cd_ioctl.c
ide-cd_verbose.c
ide-cd.c const: make block_device_operations const 2009-09-22 07:17:25 -07:00
ide-cd.h
ide-cs.c ide/ide-cs: fix order of releasing resources 2010-01-15 01:33:08 -08:00
ide-devsets.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
ide-disk_ioctl.c
ide-disk_proc.c
ide-disk.c block: Rename blk_queue_max_sectors to blk_queue_max_hw_sectors 2010-02-26 13:58:08 +01:00
ide-disk.h
ide-dma-sff.c
ide-dma.c ide: Requeue request after DMA timeout 2010-04-01 01:31:13 -07:00
ide-eh.c
ide-floppy_ioctl.c
ide-floppy_proc.c
ide-floppy.c block: Rename blk_queue_max_sectors to blk_queue_max_hw_sectors 2010-02-26 13:58:08 +01:00
ide-floppy.h
ide-gd.c const: make block_device_operations const 2009-09-22 07:17:25 -07:00
ide-gd.h
ide-generic.c
ide-h8300.c
ide-io-std.c
ide-io.c ide: Requeue request after DMA timeout 2010-04-01 01:31:13 -07:00
ide-ioctls.c ide: fix ioctl to pass requested transfer mode to ide_find_dma_mode instead of UDMA6 2009-11-25 15:04:54 -08:00
ide-iops.c ide: add SATA cable detection support 2010-01-19 01:41:57 -08:00
ide-legacy.c
ide-lib.c
ide-park.c
ide-pci-generic.c pata_piccolo: Driver for old Toshiba chipsets 2009-12-03 14:35:31 -05:00
ide-pio-blacklist.c
ide-pm.c
ide-pnp.c
ide-probe.c Revert "ide: skip probe if there are no devices on the port (v2)" 2010-03-28 18:58:28 -07:00
ide-proc.c ide: use printk_once 2009-09-22 16:29:00 -07:00
ide-scan-pci.c
ide-sysfs.c
ide-tape.c ide_tape: kill off use of the ->ioctl operation 2010-01-12 01:56:54 -08:00
ide-taskfile.c
ide-timings.c ide: ide_timing_compute() fixup 2010-01-19 11:30:09 -08:00
ide-xfer-mode.c ide: make ide_get_best_pio_mode() static 2010-01-19 01:52:36 -08:00
ide.c
it821x.c it821x: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:34 -08:00
it8172.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
it8213.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
jmicron.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
Kconfig ide: update Kconfig text to mark as deprecated 2009-10-29 03:09:26 -07:00
macide.c
Makefile
ns87415.c
opti621.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
palm_bk3710.c palm_bk3710: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:34 -08:00
pdc202xx_new.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
pdc202xx_old.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/ide-2.6 2010-03-02 23:57:59 -08:00
piix.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
pmac.c drivers/ide: Fix continuation line formats 2010-02-03 18:44:44 -08:00
q40ide.c
qd65xx.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
qd65xx.h
rapide.c
rz1000.c
sc1200.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
scc_pata.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/ide-2.6 2010-03-02 23:57:59 -08:00
serverworks.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
setup-pci.c
sgiioc4.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
siimage.c siimage: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:35 -08:00
sis5513.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
sl82c105.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
slc90e66.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
tc86c001.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
triflex.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
trm290.c
tx4938ide.c tx493xide: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:35 -08:00
tx4939ide.c tx493xide: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:35 -08:00
umc8672.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
via82cxxx.c Revert "via82cxxx: workaround h/w bugs" 2010-03-27 07:55:58 -07:00