summaryrefslogtreecommitdiff
path: root/linux/drivers/media/common/saa7146_video.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/common/saa7146_video.c')
-rw-r--r--linux/drivers/media/common/saa7146_video.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/linux/drivers/media/common/saa7146_video.c b/linux/drivers/media/common/saa7146_video.c
index c0f805907..01a11997a 100644
--- a/linux/drivers/media/common/saa7146_video.c
+++ b/linux/drivers/media/common/saa7146_video.c
@@ -116,7 +116,7 @@ static int try_win(struct saa7146_dev *dev, struct v4l2_window *win)
DEB_D(("no fb fmt set.\n"));
return -EINVAL;
}
- if (win->w.width < 64 || win->w.height < 64) {
+ if (win->w.width < 48 || win->w.height < 32) {
DEB_D(("min width/height. (%d,%d)\n",win->w.width,win->w.height));
return -EINVAL;
}
@@ -735,6 +735,9 @@ static int video_end(struct saa7146_fh *fh)
saa7146_write(dev, MC1, 0x00700000);
vv->streaming = NULL;
+
+ videobuf_queue_cancel(file,&fh->video_q);
+
spin_unlock_irqrestore(&dev->slock, flags);
return 0;
@@ -1171,8 +1174,8 @@ static int buffer_prepare(struct file *file, struct videobuf_buffer *vb, enum v4
DEB_CAP(("vbuf:%p\n",vb));
/* sanity checks */
- if (fh->video_fmt.width < 64 ||
- fh->video_fmt.height < 64 ||
+ if (fh->video_fmt.width < 48 ||
+ fh->video_fmt.height < 32 ||
fh->video_fmt.width > vv->standard->h_max_out ||
fh->video_fmt.height > vv->standard->v_max_out) {
DEB_D(("w (%d) / h (%d) out of bounds.\n",fh->video_fmt.width,fh->video_fmt.height));
@@ -1349,8 +1352,6 @@ static void video_close(struct saa7146_dev *dev, struct saa7146_fh *fh, struct f
if( fh == vv->streaming ) {
video_end(fh);
}
-
- videobuf_queue_cancel(file,&fh->video_q);
}