Commit 0d0abef8 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] vivid: return -ENODATA if the current input doesn't support g/s_selection

Returning -EINVAL indicates wrong arguments, but that's not the case
here.

Returning -ENOTTY is also no option, since the ioctl is implemented, but
it just is not valid for this input.

So use -ENODATA instead. This is also used elsewhere when an ioctl isn't
valid for a specific input.

In this case G/S_SELECTION returned -EINVAL for the webcam input. That
input doesn't support cropping, instead it uses ENUM_FRAMESIZES to
enumerate a list of discrete frame sizes.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent ecf37493
...@@ -823,7 +823,7 @@ int vivid_vid_cap_g_selection(struct file *file, void *priv, ...@@ -823,7 +823,7 @@ int vivid_vid_cap_g_selection(struct file *file, void *priv,
if (sel->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) if (sel->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
return -EINVAL; return -EINVAL;
if (vivid_is_webcam(dev)) if (vivid_is_webcam(dev))
return -EINVAL; return -ENODATA;
sel->r.left = sel->r.top = 0; sel->r.left = sel->r.top = 0;
switch (sel->target) { switch (sel->target) {
...@@ -872,7 +872,7 @@ int vivid_vid_cap_s_selection(struct file *file, void *fh, struct v4l2_selection ...@@ -872,7 +872,7 @@ int vivid_vid_cap_s_selection(struct file *file, void *fh, struct v4l2_selection
if (s->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) if (s->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
return -EINVAL; return -EINVAL;
if (vivid_is_webcam(dev)) if (vivid_is_webcam(dev))
return -EINVAL; return -ENODATA;
switch (s->target) { switch (s->target) {
case V4L2_SEL_TGT_CROP: case V4L2_SEL_TGT_CROP:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment