From: Sakari Ailus Date: Thu, 11 Dec 2025 12:20:22 +0000 (+0200) Subject: media: ipu6: Always call video_device_pipeline_alloc_start() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc6c52205bdaddf1dc259497a958402b35c01fe2;p=thirdparty%2Fkernel%2Flinux.git media: ipu6: Always call video_device_pipeline_alloc_start() 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 Tested-by: Mehdi Djait # Dell XPS 9315 Reviewed-by: Mehdi Djait Signed-off-by: Hans Verkuil --- diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c index c862de31af9c5..fabaed63df0ce 100644 --- a/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-queue.c @@ -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; diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c index e9dab8a709eff..3ac48d2076da9 100644 --- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c @@ -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;