• Sergei Shtylyov's avatar
    pdc202xx_old: don't call pdc202xx_reset() on IRQ timeout · 1221e241
    Sergei Shtylyov authored
    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: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
    Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    1221e241
pdc202xx_old.c 11 KB