diff options
author | Joerg Roedel <jroedel@suse.de> | 2020-05-13 12:01:33 +0200 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2020-05-13 12:01:33 +0200 |
commit | ec9b40cffdb68c4ea1ebdcd1648ed6ce15c4449e (patch) | |
tree | 27b964f4377bf1ac712c118a6a3fb945476c7da6 /drivers/dma/mmp_tdma.c | |
parent | 3a0ce12e3b8e3cb7d54569a42aec743cc93f4f0d (diff) | |
parent | 0e698dfa282211e414076f9dc7e83c1c288314fd (diff) | |
download | linux-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.c | 5 |
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]; |