v4l2: modify return value of VIDIOC_REQBUFS ioctl

Message ID 49F8A314.4000007@freemail.hu (mailing list archive)
State Superseded, archived
Headers

Commit Message

Németh Márton April 29, 2009, 6:57 p.m. UTC
  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/

Signed-off-by: Márton Németh <nm127@freemail.hu>
---
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Patch

--- linux-2.6.30-rc3/drivers/media/video/videobuf-core.c.orig	2009-04-22 05:07:00.000000000 +0200
+++ linux-2.6.30-rc3/drivers/media/video/videobuf-core.c	2009-04-29 18:30:15.000000000 +0200
@@ -439,6 +439,7 @@  int videobuf_reqbufs(struct videobuf_que
 	}

 	req->count = retval;
+	retval = 0;

  done:
 	mutex_unlock(&q->vb_lock);