Skip to contentSkip to conversation

v4l2: modify return value of VIDIOC_REQBUFS ioctl

PATCH New Németh Márton 1 participant 1 message Apr 29, 2009 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 v4l2: modify return value of VIDIOC_REQBUFS ioctl

The V4L2 ioctls usually return 0 when the operation was successful and -1 in case of error. Currently VIDIOC_REQBUFS returns the number of buffers which is redundant because this information is available in count field of struct v4l2_requestbuffers. The V4L2 API specification, revision 0.24 [1] explicitly specifies for VIDIOC_REQBUFS that the return value shall be 0 on success.

The patch was tested with v4l-test 0.13 [2] with vivi driver.

References:
[1] V4L2 API specification, revision 0.24

    http://v4l2spec.bytesex.org/spec/r13696.htm

[2] v4l-test: Test environment for Video For Linux Two API
http://v4l-test.sourceforge.net/

---

drivers/media/video/videobuf-core.c renamed from drivers/media/video/videobuf-core.c.orig +1 -0
@@ -439,6 +439,7 @@ int videobuf_reqbufs(struct videobuf_que
 	}
 
 	req->count = retval;
+	retval = 0;
 
  done:
 	mutex_unlock(&q->vb_lock);