camera: fix soc_camera checking video buffer is queued or not in S_FMT is overflow
authorddl <ddl@rockchip.com>
Thu, 20 Jan 2011 23:58:36 +0000 (07:58 +0800)
committerddl <ddl@rockchip.com>
Thu, 20 Jan 2011 23:58:36 +0000 (07:58 +0800)
drivers/media/video/soc_camera.c

index 93269b551e32e9c91bcd7f0fc4c697c2d0ce5d5d..572b2e93b8d98cce5e84251b6a8985681471d06a 100644 (file)
@@ -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] && (i<VIDEO_MAX_FRAME)) {
                if (icf->vb_vidq.bufs[i]->state != VIDEOBUF_NEEDS_INIT) {
                        dev_err(&icd->dev, "S_FMT denied: queue initialised\n");
                        ret = -EBUSY;