From: ddl Date: Thu, 20 Jan 2011 23:58:36 +0000 (+0800) Subject: camera: fix soc_camera checking video buffer is queued or not in S_FMT is overflow X-Git-Tag: firefly_0821_release~10785^2~12^2~16 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7a2063bad050bdd27364921b0064ef3f9e61b254;p=firefly-linux-kernel-4.4.55.git camera: fix soc_camera checking video buffer is queued or not in S_FMT is overflow --- 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;