projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
dma
/
edma.c
diff --git
a/drivers/dma/edma.c
b/drivers/dma/edma.c
index 0ea813d98998d93b7d2ee0fdc5d82d407be5538b..bf09db7ca9ee9c691bcb59888575d2679b4ddd3e 100644
(file)
--- a/
drivers/dma/edma.c
+++ b/
drivers/dma/edma.c
@@
-260,6
+260,13
@@
static int edma_terminate_all(struct dma_chan *chan)
*/
if (echan->edesc) {
int cyclic = echan->edesc->cyclic;
*/
if (echan->edesc) {
int cyclic = echan->edesc->cyclic;
+
+ /*
+ * free the running request descriptor
+ * since it is not in any of the vdesc lists
+ */
+ edma_desc_free(&echan->edesc->vdesc);
+
echan->edesc = NULL;
edma_stop(echan->ch_num);
/* Move the cyclic channel back to default queue */
echan->edesc = NULL;
edma_stop(echan->ch_num);
/* Move the cyclic channel back to default queue */