[libcamera-devel] [PATCH] v4l2: v4l2_camera_proxy: Zero flags in VIDIOC_REQBUFS

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Jan 11 21:28:38 CET 2022


The V4L2 compatibility layer doesn't support any of the VIDIOC_REQBUFS
flags. They are all correctly ignored, but also need to be zeroed
before returning to indicate that they haven't been taken into account.

This fixes a v4l2-compliance failure:

Buffer ioctls (Input 0):
                fail: ../../utils/v4l2-compliance/v4l2-test-buffers.cpp(682): coherent
        test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL

Fixes: aa4533639971 ("include: linux: Update kernel headers to version v5.16-rc7")
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/v4l2/v4l2_camera_proxy.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
index 4d529bc29a4d..1802d90bf30b 100644
--- a/src/v4l2/v4l2_camera_proxy.cpp
+++ b/src/v4l2/v4l2_camera_proxy.cpp
@@ -469,6 +469,7 @@ int V4L2CameraProxy::vidioc_reqbufs(V4L2CameraFile *file, struct v4l2_requestbuf
 		return -EBUSY;
 
 	arg->capabilities = V4L2_BUF_CAP_SUPPORTS_MMAP;
+	arg->flags = 0;
 	memset(arg->reserved, 0, sizeof(arg->reserved));
 
 	if (arg->count == 0) {

base-commit: eff9de397ac37e948e5ca603814fcaba9bcd8df5
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list