]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
media: rcar_drif.c: set lock before calling vb2_queue_init()
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Mon, 2 Sep 2024 14:04:52 +0000 (16:04 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sat, 12 Oct 2024 13:53:55 +0000 (15:53 +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>
Cc: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
Cc: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/renesas/rcar_drif.c

index f21d050543419424794abe1a8559617d70a5126a..5d3109940ded4d59bd7e87813431d59c159bdb96 100644 (file)
@@ -1071,7 +1071,6 @@ static int rcar_drif_sdr_register(struct rcar_drif_sdr *sdr)
        sdr->vdev->release = video_device_release;
        sdr->vdev->lock = &sdr->v4l2_mutex;
        sdr->vdev->queue = &sdr->vb_queue;
-       sdr->vdev->queue->lock = &sdr->vb_queue_mutex;
        sdr->vdev->ctrl_handler = &sdr->ctrl_hdl;
        sdr->vdev->v4l2_dev = &sdr->v4l2_dev;
        sdr->vdev->device_caps = V4L2_CAP_SDR_CAPTURE | V4L2_CAP_TUNER |
@@ -1316,6 +1315,7 @@ static int rcar_drif_sdr_probe(struct rcar_drif_sdr *sdr)
        sdr->vb_queue.ops = &rcar_drif_vb2_ops;
        sdr->vb_queue.mem_ops = &vb2_vmalloc_memops;
        sdr->vb_queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
+       sdr->vb_queue.lock = &sdr->vb_queue_mutex;
 
        /* Init videobuf2 queue */
        ret = vb2_queue_init(&sdr->vb_queue);