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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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: Hans Verkuil <hans.verkuil@xxxxxxxxx>
---
A patch for docs-next will follow.
---
diff --git a/drivers/media/platform/vivid/vivid-vid-cap.c b/drivers/media/platform/vivid/vivid-vid-cap.c
index d404a7c..d5c84ec 100644
--- a/drivers/media/platform/vivid/vivid-vid-cap.c
+++ b/drivers/media/platform/vivid/vivid-vid-cap.c
@@ -823,7 +823,7 @@ int vivid_vid_cap_g_selection(struct file *file, void *priv,
 	if (sel->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
 		return -EINVAL;
 	if (vivid_is_webcam(dev))
-		return -EINVAL;
+		return -ENODATA;

 	sel->r.left = sel->r.top = 0;
 	switch (sel->target) {
@@ -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)
 		return -EINVAL;
 	if (vivid_is_webcam(dev))
-		return -EINVAL;
+		return -ENODATA;

 	switch (s->target) {
 	case V4L2_SEL_TGT_CROP:
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux