| From 64f44caae06b1c0ededacf0a624304aa2f773cbd Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sun, 19 Apr 2020 18:49:06 +0200 |
| Subject: dmaengine: mmp_tdma: Do not ignore slave config validation errors |
| |
| From: Lubomir Rintel <lkundrak@v3.sk> |
| |
| [ Upstream commit 363c32701c7fdc8265a84b21a6a4f45d1202b9ca ] |
| |
| With an invalid dma_slave_config set previously, |
| mmp_tdma_prep_dma_cyclic() would detect an error whilst configuring the |
| channel, but proceed happily on: |
| |
| [ 120.756530] mmp-tdma d42a0800.adma: mmp_tdma: unknown burst size. |
| |
| Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> |
| Link: https://lore.kernel.org/r/20200419164912.670973-2-lkundrak@v3.sk |
| Signed-off-by: Vinod Koul <vkoul@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/dma/mmp_tdma.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/dma/mmp_tdma.c b/drivers/dma/mmp_tdma.c |
| index 10117f271b12b..51e08c16756ae 100644 |
| --- a/drivers/dma/mmp_tdma.c |
| +++ b/drivers/dma/mmp_tdma.c |
| @@ -443,7 +443,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]; |
| -- |
| 2.20.1 |
| |