]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: ipu6: Always call video_device_pipeline_alloc_start()
authorSakari Ailus <sakari.ailus@linux.intel.com>
Thu, 11 Dec 2025 12:20:22 +0000 (14:20 +0200)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Tue, 13 Jan 2026 11:47:56 +0000 (12:47 +0100)
Even if a video device is part of a pipeline already,
video_device_pipeline_alloc_start() handles that case gracefully. Don't
explicitly differentiate between video_device_pipeline_start() and
video_device_pipeline_alloc_start() based on the existence of a pipeline.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: Mehdi Djait <mehdi.djait@linux.intel.com> # Dell XPS 9315
Reviewed-by: Mehdi Djait <mehdi.djait@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/pci/intel/ipu6/ipu6-isys-queue.c
drivers/media/pci/intel/ipu6/ipu6-isys-video.c

index c862de31af9c59cd77e3c75321b6e374a76f6c20..fabaed63df0cea1d9a0fc3189066ebe3bb47095c 100644 (file)
@@ -427,7 +427,6 @@ static int ipu6_isys_link_fmt_validate(struct ipu6_isys_queue *aq)
                media_pad_remote_pad_first(av->vdev.entity.pads);
        struct v4l2_subdev *sd;
        u32 r_stream, code;
-       int ret;
 
        if (!remote_pad)
                return -ENOTCONN;
index e9dab8a709eff4299c828e8f9cce2a75ffaa76e8..3ac48d2076da9fbc5bf211911dbc3f4a036aff0d 100644 (file)
@@ -1176,7 +1176,6 @@ int ipu6_isys_setup_video(struct ipu6_isys_video *av,
        struct v4l2_subdev *remote_sd =
                media_entity_to_v4l2_subdev(remote_pad->entity);
        struct ipu6_isys_subdev *asd = to_ipu6_isys_subdev(remote_sd);
-       struct media_pipeline *pipeline;
        int ret = -EINVAL;
 
        *nr_queues = 0;
@@ -1216,11 +1215,7 @@ int ipu6_isys_setup_video(struct ipu6_isys_video *av,
                return ret;
        }
 
-       pipeline = media_entity_pipeline(&av->vdev.entity);
-       if (!pipeline)
-               ret = video_device_pipeline_alloc_start(&av->vdev);
-       else
-               ret = video_device_pipeline_start(&av->vdev, pipeline);
+       ret = video_device_pipeline_alloc_start(&av->vdev);
        if (ret < 0) {
                dev_dbg(dev, "media pipeline start failed\n");
                return ret;