From: Russell King - ARM Linux Date: Thu, 27 Jan 2011 12:32:53 +0000 (+0000) Subject: DMA: PL08x: fix infinite wait when terminating transfers X-Git-Tag: v2.6.38-rc5~7^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb526210b2b961b5d590b89fd8f45c0ca5769688;p=pandora-kernel.git 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 Acked-by: Linus Walleij Signed-off-by: Dan Williams --- Reading git-diff-tree failed