aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugues Fruchet <[email protected]>2018-06-11 05:50:25 -0400
committerMauro Carvalho Chehab <[email protected]>2018-06-28 07:46:06 -0400
commita331df3cb3a121ed9d6c2010f28ca0fccc4153ba (patch)
tree697f97b31308497682a379e4cc6afbf395c77836
parentb53a24fc2849a4d56961ac74a7aaeca9f5953a5a (diff)
media: stm32-dcmi: return buffer in error state on dma error
Return buffer to V4L2 in error state if DMA error occurs. Signed-off-by: Hugues Fruchet <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
-rw-r--r--drivers/media/platform/stm32/stm32-dcmi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c
index fc72a57d8478..526d8311df4a 100644
--- a/drivers/media/platform/stm32/stm32-dcmi.c
+++ b/drivers/media/platform/stm32/stm32-dcmi.c
@@ -261,6 +261,9 @@ static void dcmi_dma_callback(void *param)
break;
case DMA_ERROR:
dev_err(dcmi->dev, "%s: Received DMA_ERROR\n", __func__);
+
+ /* Return buffer to V4L2 in error state */
+ dcmi_buffer_done(dcmi, buf, 0, -EIO);
break;
case DMA_COMPLETE:
dev_dbg(dcmi->dev, "%s: Received DMA_COMPLETE\n", __func__);