From e488f716475763c44d9e7795f518e47ba2d4a2bd Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Mon, 21 Mar 2011 06:33:25 -0300 Subject: [PATCH] --- yaml --- r: 242187 b: refs/heads/master c: d366d4a08a4e5e1fddc2cc820302be8e7a8143d4 h: refs/heads/master i: 242185: 435acdc5f6085191a2c59e28f6f947543a5f71a2 242183: c0dbf1782b654c07d3ef8f5d86c7c520d34ded9f v: v3 --- [refs] | 2 +- trunk/drivers/media/video/soc_camera.c | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index b7134bf66fce..0f8c8c075c38 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0e4c180d3e2cc11e248f29d4c604b6194739d05a +refs/heads/master: d366d4a08a4e5e1fddc2cc820302be8e7a8143d4 diff --git a/trunk/drivers/media/video/soc_camera.c b/trunk/drivers/media/video/soc_camera.c index 07525e74c4b4..46284489e4eb 100644 --- a/trunk/drivers/media/video/soc_camera.c +++ b/trunk/drivers/media/video/soc_camera.c @@ -144,6 +144,10 @@ static int soc_camera_try_fmt_vid_cap(struct file *file, void *priv, WARN_ON(priv != file->private_data); + /* Only single-plane capture is supported so far */ + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) + return -EINVAL; + /* limit format to hardware capabilities */ return ici->ops->try_fmt(icd, f); } @@ -396,10 +400,6 @@ static int soc_camera_set_fmt(struct soc_camera_device *icd, if (ici->ops->init_videobuf) icd->vb_vidq.field = pix->field; - if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) - dev_warn(&icd->dev, "Attention! Wrong buf-type %d\n", - f->type); - dev_dbg(&icd->dev, "set width: %d height: %d\n", icd->user_width, icd->user_height); @@ -618,6 +618,11 @@ static int soc_camera_s_fmt_vid_cap(struct file *file, void *priv, WARN_ON(priv != file->private_data); + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) { + dev_warn(&icd->dev, "Wrong buf-type %d\n", f->type); + return -EINVAL; + } + if (icd->streamer && icd->streamer != file) return -EBUSY; @@ -661,6 +666,9 @@ static int soc_camera_g_fmt_vid_cap(struct file *file, void *priv, WARN_ON(priv != file->private_data); + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) + return -EINVAL; + pix->width = icd->user_width; pix->height = icd->user_height; pix->bytesperline = icd->bytesperline;