]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
media: video-i2c: set lock before calling vb2_queue_init()
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Mon, 2 Sep 2024 14:04:53 +0000 (16:04 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sat, 12 Oct 2024 13:54:02 +0000 (15:54 +0200)
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>
drivers/media/i2c/video-i2c.c

index 56dbe07a1c9986499127956e6ff485af38f093a3..ffb3d9d61a749146d0ffc27710689984f3d801ce 100644 (file)
@@ -798,13 +798,13 @@ static int video_i2c_probe(struct i2c_client *client)
        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",