usb: gadget: uvc: Set the vb2 queue timestamp flags
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 23 Mar 2014 15:19:50 +0000 (16:19 +0100)
committerFelipe Balbi <balbi@ti.com>
Thu, 15 May 2014 16:07:56 +0000 (11:07 -0500)
The vb2 queue timestamp_flags field must be set by drivers, as enforced
by a WARN_ON in vb2_queue_init. The UVC gadget driver failed to do so.
This resulted in the following warning.

[    2.104371] g_webcam gadget: uvc_function_bind
[    2.105567] ------------[ cut here ]------------
[    2.105567] ------------[ cut here ]------------
[    2.106779] WARNING: CPU: 0 PID: 1 at drivers/media/v4l2-core/videobuf2-core.c:2207 vb2_queue_init+0xa3/0x113()

Fix it.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/uvc_queue.c

index 305eb491c919245b583ecb3c52c75ce43ac6939a..1c29bc954db9f02f1954073861629e2b9be74c4d 100644 (file)
@@ -137,6 +137,8 @@ static int uvc_queue_init(struct uvc_video_queue *queue,
        queue->queue.buf_struct_size = sizeof(struct uvc_buffer);
        queue->queue.ops = &uvc_queue_qops;
        queue->queue.mem_ops = &vb2_vmalloc_memops;
+       queue->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC
+                                    | V4L2_BUF_FLAG_TSTAMP_SRC_EOF;
        ret = vb2_queue_init(&queue->queue);
        if (ret)
                return ret;