From 7a2063bad050bdd27364921b0064ef3f9e61b254 Mon Sep 17 00:00:00 2001 From: ddl Date: Fri, 21 Jan 2011 07:58:36 +0800 Subject: [PATCH] camera: fix soc_camera checking video buffer is queued or not in S_FMT is overflow --- drivers/media/video/soc_camera.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/video/soc_camera.c b/drivers/media/video/soc_camera.c index 93269b551e32..572b2e93b8d9 100644 --- a/drivers/media/video/soc_camera.c +++ b/drivers/media/video/soc_camera.c @@ -527,7 +527,7 @@ static int soc_camera_s_fmt_vid_cap(struct file *file, void *priv, Judge queue initialised by Judge icf->vb_vidq.bufs[0] whether is NULL , it is error. */ i = 0; - while (icf->vb_vidq.bufs[i]) { + while (icf->vb_vidq.bufs[i] && (ivb_vidq.bufs[i]->state != VIDEOBUF_NEEDS_INIT) { dev_err(&icd->dev, "S_FMT denied: queue initialised\n"); ret = -EBUSY; -- 2.34.1