diff mbox

omap3isp: Fix buffer flags handling when querying buffer

Message ID 1386640419-2922-1-git-send-email-laurent.pinchart@ideasonboard.com (mailing list archive)
State New, archived
Headers show

Commit Message

Laurent Pinchart Dec. 10, 2013, 1:53 a.m. UTC
A missing break resulted in all done buffers being flagged with
V4L2_BUF_FLAG_QUEUED. Fix it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 drivers/media/platform/omap3isp/ispqueue.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

sakari.ailus@iki.fi Dec. 10, 2013, 7:36 p.m. UTC | #1
On Tue, Dec 10, 2013 at 02:53:39AM +0100, Laurent Pinchart wrote:
> A missing break resulted in all done buffers being flagged with
> V4L2_BUF_FLAG_QUEUED. Fix it.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  drivers/media/platform/omap3isp/ispqueue.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/media/platform/omap3isp/ispqueue.c b/drivers/media/platform/omap3isp/ispqueue.c
> index e15f013..5f0f8fa 100644
> --- a/drivers/media/platform/omap3isp/ispqueue.c
> +++ b/drivers/media/platform/omap3isp/ispqueue.c
> @@ -553,8 +553,10 @@ static void isp_video_buffer_query(struct isp_video_buffer *buf,
>  	switch (buf->state) {
>  	case ISP_BUF_STATE_ERROR:
>  		vbuf->flags |= V4L2_BUF_FLAG_ERROR;
> +		/* Fallthrough */
>  	case ISP_BUF_STATE_DONE:
>  		vbuf->flags |= V4L2_BUF_FLAG_DONE;
> +		break;
>  	case ISP_BUF_STATE_QUEUED:
>  	case ISP_BUF_STATE_ACTIVE:
>  		vbuf->flags |= V4L2_BUF_FLAG_QUEUED;

Oh, how is it possible this bug has passed through the review? :-) Nice fix!

Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
diff mbox

Patch

diff --git a/drivers/media/platform/omap3isp/ispqueue.c b/drivers/media/platform/omap3isp/ispqueue.c
index e15f013..5f0f8fa 100644
--- a/drivers/media/platform/omap3isp/ispqueue.c
+++ b/drivers/media/platform/omap3isp/ispqueue.c
@@ -553,8 +553,10 @@  static void isp_video_buffer_query(struct isp_video_buffer *buf,
 	switch (buf->state) {
 	case ISP_BUF_STATE_ERROR:
 		vbuf->flags |= V4L2_BUF_FLAG_ERROR;
+		/* Fallthrough */
 	case ISP_BUF_STATE_DONE:
 		vbuf->flags |= V4L2_BUF_FLAG_DONE;
+		break;
 	case ISP_BUF_STATE_QUEUED:
 	case ISP_BUF_STATE_ACTIVE:
 		vbuf->flags |= V4L2_BUF_FLAG_QUEUED;