summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorLad, Prabhakar <prabhakar.csengg@gmail.com>2015-03-08 11:40:45 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-04-02 18:11:33 -0300
commit2bf34b2f0952eeb15f10434ce0d1ee7356c005ff (patch)
treef0791c7abc8174637209acdb6f6bea921c1ef837 /drivers/media
parentd61233bf4cc3cdd378cb20236f1209ed8c2023f5 (diff)
downloadop-kernel-dev-2bf34b2f0952eeb15f10434ce0d1ee7356c005ff.zip
op-kernel-dev-2bf34b2f0952eeb15f10434ce0d1ee7356c005ff.tar.gz
[media] media: blackfin: bfin_capture: make sure all buffers are returned on stop_streaming() callback
In start_streaming() callback the buffer is removed from the dma_queue list and assigned to cur_frm, this patch makes sure that is returned to vb2 core with VB2_BUF_STATE_ERROR flag. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Tested-by: Scott Jiang <scott.jiang.linux@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/platform/blackfin/bfin_capture.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/platform/blackfin/bfin_capture.c b/drivers/media/platform/blackfin/bfin_capture.c
index 2a9e933..f2b1a23 100644
--- a/drivers/media/platform/blackfin/bfin_capture.c
+++ b/drivers/media/platform/blackfin/bfin_capture.c
@@ -374,6 +374,9 @@ static void bcap_stop_streaming(struct vb2_queue *vq)
"stream off failed in subdev\n");
/* release all active buffers */
+ if (bcap_dev->cur_frm)
+ vb2_buffer_done(&bcap_dev->cur_frm->vb, VB2_BUF_STATE_ERROR);
+
while (!list_empty(&bcap_dev->dma_queue)) {
bcap_dev->cur_frm = list_entry(bcap_dev->dma_queue.next,
struct bcap_buffer, list);
OpenPOWER on IntegriCloud