The vb2_queue_init() will expect the vb2_queue lock pointer to be set in
the future. So for those drivers that set the lock later, move it up to
before the vb2_queue_init() call.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Acked-by: Matt Ranostay <matt@ranostay.sg>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
        queue->min_queued_buffers = 1;
        queue->ops = &video_i2c_video_qops;
        queue->mem_ops = &vb2_vmalloc_memops;
+       queue->lock = &data->queue_lock;
 
        ret = vb2_queue_init(queue);
        if (ret < 0)
                goto error_unregister_device;
 
        data->vdev.queue = queue;
-       data->vdev.queue->lock = &data->queue_lock;
 
        snprintf(data->vdev.name, sizeof(data->vdev.name),
                                 "I2C %d-%d Transport Video",