summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorHugues Fruchet <hugues.fruchet@st.com>2018-06-11 05:50:25 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-06-28 07:46:06 -0400
commita331df3cb3a121ed9d6c2010f28ca0fccc4153ba (patch)
tree697f97b31308497682a379e4cc6afbf395c77836 /drivers/media
parentb53a24fc2849a4d56961ac74a7aaeca9f5953a5a (diff)
downloadlinux-a331df3cb3a121ed9d6c2010f28ca0fccc4153ba.tar.bz2
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 <hugues.fruchet@st.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media')
-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__);