On (20/06/02 14:24), Hans Verkuil wrote:
[..]
> For vim2m (but looks the same for vivid/vimc/vicodec):
> 
> Streaming ioctls:
>         test read/write: OK (Not Supported)
>         test blocking wait: OK
>         Video Capture: Captured 8 buffers
>         test MMAP (no poll): OK
>         Video Capture: Captured 8 buffers
>         test MMAP (select): OK
>         Video Capture: Captured 8 buffers
>         test MMAP (epoll): OK
>         Video Capture: Captured 8 buffers
>         test USERPTR (no poll): OK
>         Video Capture: Captured 8 buffers
>         test USERPTR (select): OK
>                 fail: v4l2-test-buffers.cpp(1874): flags & 
> V4L2_BUF_FLAG_NO_CACHE_INVALIDATE
>                 fail: v4l2-test-buffers.cpp(1937): setupDmaBuf(expbuf_node, 
> node, q, exp_q)
>         test DMABUF (no poll): FAIL
>                 fail: v4l2-test-buffers.cpp(1874): flags & 
> V4L2_BUF_FLAG_NO_CACHE_INVALIDATE
>                 fail: v4l2-test-buffers.cpp(1937): setupDmaBuf(expbuf_node, 
> node, q, exp_q)
>         test DMABUF (select): FAIL

This helps. I'm probably "holding v4l2-compliance wrong", but I have
never seen that assertion triggering. The fix should be easy enough

---

diff --git a/utils/v4l2-compliance/v4l2-test-buffers.cpp 
b/utils/v4l2-compliance/v4l2-test-buffers.cpp
index 79b74e96..1ee12f96 100644
--- a/utils/v4l2-compliance/v4l2-test-buffers.cpp
+++ b/utils/v4l2-compliance/v4l2-test-buffers.cpp
@@ -1871,8 +1871,8 @@ static int setupDmaBuf(struct node *expbuf_node, struct 
node *node,
                                fail_on_test(!buf.g_bytesused(p));
                }
                flags = buf.g_flags();
-               fail_on_test(flags & V4L2_BUF_FLAG_NO_CACHE_INVALIDATE);
-               fail_on_test(flags & V4L2_BUF_FLAG_NO_CACHE_CLEAN);
+               fail_on_test(!(flags & V4L2_BUF_FLAG_NO_CACHE_INVALIDATE));
+               fail_on_test(!(flags & V4L2_BUF_FLAG_NO_CACHE_CLEAN));
                fail_on_test(flags & V4L2_BUF_FLAG_DONE);
                fail_on_test(buf.querybuf(node, i));
                fail_on_test(buf.check(q, Queued, i));

Reply via email to