From acd854a840dbc35796305247598853951ca921e0 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Wed, 24 Aug 2011 04:07:01 +0200 Subject: omap3isp: Don't mess up with omap3_isp_video::dequeued in pools The dequeued field is used to track buffers that have been dequeued from the viewfinder and owned by the display. Those buffers will be handed back by the display, so they must not be requeued on the spot when the viewfinder is paused and resumed. Pools don't suffer from that problem, so don't use the dequeued field. Signed-off-by: Laurent Pinchart --- isp/omap3isp.c | 6 ------ 1 file changed, 6 deletions(-) (limited to 'isp/omap3isp.c') diff --git a/isp/omap3isp.c b/isp/omap3isp.c index 8db2726..3a75d91 100644 --- a/isp/omap3isp.c +++ b/isp/omap3isp.c @@ -158,15 +158,12 @@ static void omap3_isp_pool_event(struct omap3_isp_pool *pool, return; } - from->dequeued |= 1 << buffer.index; from->queued--; if (from->queued == 0) isp->ops->unwatch_fd(from->video->fd); /* Queue it on the other side */ - to->dequeued &= ~(1 << buffer.index); - if (to->queued == 0) { if (input) isp->ops->watch_fd(to->video->fd, OMAP3_ISP_EVENT_WRITE, @@ -205,9 +202,6 @@ static int omap3_isp_pool_start(struct omap3_isp_pool *pool) /* Queue all buffers for video capture. */ for (i = 0; i < pool->pool->nbufs; ++i) { - if (pool->input->dequeued & (1 << i)) - continue; - buffer.index = i; ret = v4l2_queue_buffer(pool->input->video, &buffer); -- cgit v1.2.3