Test cookie return by dmaengine_submit() and return error if any.

Signed-off-by: Hugues Fruchet <hugues.fruc...@st.com>
---
 drivers/media/platform/stm32/stm32-dcmi.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/media/platform/stm32/stm32-dcmi.c 
b/drivers/media/platform/stm32/stm32-dcmi.c
index c2168b5..7ffb2d3 100644
--- a/drivers/media/platform/stm32/stm32-dcmi.c
+++ b/drivers/media/platform/stm32/stm32-dcmi.c
@@ -295,6 +295,10 @@ static int dcmi_start_dma(struct stm32_dcmi *dcmi,
 
        /* Push current DMA transaction in the pending queue */
        dcmi->dma_cookie = dmaengine_submit(desc);
+       if (dma_submit_error(dcmi->dma_cookie)) {
+               dev_err(dcmi->dev, "%s: DMA submission failed\n", __func__);
+               return -ENXIO;
+       }
 
        dma_async_issue_pending(dcmi->dma_chan);
 
-- 
1.9.1

Reply via email to