summaryrefslogtreecommitdiff
path: root/drivers/media/platform/renesas/vsp1/vsp1_pipe.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2023-10-24 17:18:17 +0300
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2023-11-13 03:40:13 +0200
commit42d62b7e47d58273c64fc1540e5d81ccfdb60f77 (patch)
tree2c0dd51d44f82897167c0aa98888c21ba46bfddc /drivers/media/platform/renesas/vsp1/vsp1_pipe.c
parentb85ea95d086471afb4ad062012a4d73cd328fa86 (diff)
media: vsp1: Remove unbalanced .s_stream(0) calls
The VSP1 driver uses the subdev .s_stream() operation to stop WPF instances, without a corresponding call to start them. The V4L2 subdev core started warning about unbalanced .s_stream() calls in commit 009905ec5043 ("media: v4l2-subdev: Document and enforce .s_stream() requirements"), causing a regression with this driver. Fix the problem by replacing the .s_stream() operation with an explicit function call for WPF instances. This allows sharing an additional data structure between RPF and WPF instances. Fixes: 009905ec5043 ("media: v4l2-subdev: Document and enforce .s_stream() requirements") Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Closes: https://lore.kernel.org/linux-media/2221395-6a9b-9527-d697-e76aebc6af@linux-m68k.org/ Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Diffstat (limited to 'drivers/media/platform/renesas/vsp1/vsp1_pipe.c')
-rw-r--r--drivers/media/platform/renesas/vsp1/vsp1_pipe.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/platform/renesas/vsp1/vsp1_pipe.c b/drivers/media/platform/renesas/vsp1/vsp1_pipe.c
index f8093ba9539e..68d05243c3ee 100644
--- a/drivers/media/platform/renesas/vsp1/vsp1_pipe.c
+++ b/drivers/media/platform/renesas/vsp1/vsp1_pipe.c
@@ -373,7 +373,7 @@ int vsp1_pipeline_stop(struct vsp1_pipeline *pipe)
(7 << VI6_DPR_SMPPT_TGW_SHIFT) |
(VI6_DPR_NODE_UNUSED << VI6_DPR_SMPPT_PT_SHIFT));
- v4l2_subdev_call(&pipe->output->entity.subdev, video, s_stream, 0);
+ vsp1_wpf_stop(pipe->output);
return ret;
}