pdc202xx_old: don't call pdc202xx_reset() on IRQ timeout
authorSergei Shtylyov <sshtylyov@ru.mvista.com>
Sun, 7 Jun 2009 13:37:04 +0000 (15:37 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Sun, 7 Jun 2009 13:37:04 +0000 (15:37 +0200)
commit1221e241e3a6f1ff5b0de03d58d871f7c995781b
tree5df00175d7a279900aedec14855608d37d3ed539
parent72b9304f04d0724a25251e9e9041aa95f89c15dd
pdc202xx_old: don't call pdc202xx_reset() on IRQ timeout

The driver's dma_lost_irq() and dma_clear() methods call pdc202xx_reset()
which resets both channels at once -- most probably by driving RESET- on them.
Not only such reset can severely disturb concurrent operations on another
channel, it is also a clear overkill (especially in the first case) and is
completely unexpected and thus not properly handled by the IDE core in this
context (in the second case the usual SRST reset would most probably ensue
anyway though); it also causes quite arbitrary 2-second delay. Hence, use the
standard ide_dma_lost_irq() method and don't install the optional dma_clear()
method at all -- the driver should do well without this age-old cruft...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/pdc202xx_old.c