diff options
author | Russell King - ARM Linux <linux@arm.linux.org.uk> | 2011-01-27 12:32:53 +0000 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2011-01-30 22:00:48 -0800 |
commit | fb526210b2b961b5d590b89fd8f45c0ca5769688 (patch) | |
tree | 4998a89c11eed597b3197d013ff7b558c9566f2d /tools/perf/scripts/python | |
parent | d718f4ebddcb0bebdbf771a6672756b666e5c31b (diff) |
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>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions