summaryrefslogtreecommitdiff
path: root/drivers/dma/mcf-edma.c
diff options
context:
space:
mode:
authorAndrey Zhizhikin <andrey.z@gmail.com>2020-08-11 08:29:45 +0000
committerAndrey Zhizhikin <andrey.z@gmail.com>2020-08-11 08:29:45 +0000
commit14eec8a71c3e212080803c50cd9d7982e8208ec5 (patch)
treead0bcaf840c4999bc7b6a0291116eaa57db2a103 /drivers/dma/mcf-edma.c
parent7da1a123ebce2005573def510c61214fc1000163 (diff)
parentd811d29517d1ea05bc159579231652d3ca1c2a01 (diff)
Merge tag 'v5.4.53' into 5.4-2.1.x-imx
This is the 5.4.53 stable release Conflicts (manual resolve, upstream patch merged): drivers/thermal/imx_thermal.c Upstream patch [9025a5589c035a7328c920ed4e190c0c2f5d017d] adds missing of_node_put call, NXP version has been adapted to accommodate this patch into the code. Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
Diffstat (limited to 'drivers/dma/mcf-edma.c')
-rw-r--r--drivers/dma/mcf-edma.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/dma/mcf-edma.c b/drivers/dma/mcf-edma.c
index e15bd15a9ef6..e12b754e6398 100644
--- a/drivers/dma/mcf-edma.c
+++ b/drivers/dma/mcf-edma.c
@@ -35,6 +35,13 @@ static irqreturn_t mcf_edma_tx_handler(int irq, void *dev_id)
mcf_chan = &mcf_edma->chans[ch];
spin_lock(&mcf_chan->vchan.lock);
+
+ if (!mcf_chan->edesc) {
+ /* terminate_all called before */
+ spin_unlock(&mcf_chan->vchan.lock);
+ continue;
+ }
+
if (!mcf_chan->edesc->iscyclic) {
list_del(&mcf_chan->edesc->vdesc.node);
vchan_cookie_complete(&mcf_chan->edesc->vdesc);