Russell King - ARM Linux fb526210b2 DMA: PL08x: fix infinite wait when terminating transfers
If we try to pause a channel when terminating a transfer, we could end
up spinning for it to become inactive indefinitely, and can result in
an uninterruptible wait requiring a reset to recover from.

Terminating a transfer is supposed to take effect immediately, but may
result in data loss.

To make this clear, rename the function to pl08x_terminate_phy_chan().
Also, make sure it is always consistently called - with the spinlock
held and IRQs disabled, and ensure that the TC and ERR interrupt status
is always cleared.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2011-01-30 22:00:48 -08:00
..
2010-08-04 14:27:47 -07:00
2010-12-13 14:05:27 -08:00
2011-01-03 01:39:26 -08:00
2009-09-08 17:53:03 -07:00
2010-05-23 20:28:19 -07:00
2010-12-17 19:16:10 +09:00