[media] em28xx: fill in readbuffers and fix incorrect return code
g/s_parm should fill in readbuffers. For non-webcams s_parm should return -ENOTTY instead of -EINVAL. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
50fdf40f69
commit
86ff7f1d4b
@ -972,6 +972,7 @@ static int vidioc_g_parm(struct file *file, void *priv,
|
|||||||
if (p->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
|
if (p->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
p->parm.capture.readbuffers = EM28XX_MIN_BUF;
|
||||||
if (dev->board.is_webcam)
|
if (dev->board.is_webcam)
|
||||||
rc = v4l2_device_call_until_err(&dev->v4l2_dev, 0,
|
rc = v4l2_device_call_until_err(&dev->v4l2_dev, 0,
|
||||||
video, g_parm, p);
|
video, g_parm, p);
|
||||||
@ -989,11 +990,12 @@ static int vidioc_s_parm(struct file *file, void *priv,
|
|||||||
struct em28xx *dev = fh->dev;
|
struct em28xx *dev = fh->dev;
|
||||||
|
|
||||||
if (!dev->board.is_webcam)
|
if (!dev->board.is_webcam)
|
||||||
return -EINVAL;
|
return -ENOTTY;
|
||||||
|
|
||||||
if (p->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
|
if (p->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
p->parm.capture.readbuffers = EM28XX_MIN_BUF;
|
||||||
return v4l2_device_call_until_err(&dev->v4l2_dev, 0, video, s_parm, p);
|
return v4l2_device_call_until_err(&dev->v4l2_dev, 0, video, s_parm, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user