summaryrefslogtreecommitdiff
path: root/drivers/dma/mmp_tdma.c
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2020-05-13 12:01:33 +0200
committerJoerg Roedel <jroedel@suse.de>2020-05-13 12:01:33 +0200
commitec9b40cffdb68c4ea1ebdcd1648ed6ce15c4449e (patch)
tree27b964f4377bf1ac712c118a6a3fb945476c7da6 /drivers/dma/mmp_tdma.c
parent3a0ce12e3b8e3cb7d54569a42aec743cc93f4f0d (diff)
parent0e698dfa282211e414076f9dc7e83c1c288314fd (diff)
downloadlinux-ec9b40cffdb68c4ea1ebdcd1648ed6ce15c4449e.tar.gz
linux-ec9b40cffdb68c4ea1ebdcd1648ed6ce15c4449e.tar.bz2
linux-ec9b40cffdb68c4ea1ebdcd1648ed6ce15c4449e.zip
Merge tag 'v5.7-rc4' into core
Linux 5.7-rc4
Diffstat (limited to 'drivers/dma/mmp_tdma.c')
-rw-r--r--drivers/dma/mmp_tdma.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/dma/mmp_tdma.c b/drivers/dma/mmp_tdma.c
index 10117f271b12..d683232d7fea 100644
--- a/drivers/dma/mmp_tdma.c
+++ b/drivers/dma/mmp_tdma.c
@@ -363,6 +363,8 @@ static void mmp_tdma_free_descriptor(struct mmp_tdma_chan *tdmac)
gen_pool_free(gpool, (unsigned long)tdmac->desc_arr,
size);
tdmac->desc_arr = NULL;
+ if (tdmac->status == DMA_ERROR)
+ tdmac->status = DMA_COMPLETE;
return;
}
@@ -443,7 +445,8 @@ static struct dma_async_tx_descriptor *mmp_tdma_prep_dma_cyclic(
if (!desc)
goto err_out;
- mmp_tdma_config_write(chan, direction, &tdmac->slave_config);
+ if (mmp_tdma_config_write(chan, direction, &tdmac->slave_config))
+ goto err_out;
while (buf < buf_len) {
desc = &tdmac->desc_arr[i];