diff mbox series

[v7,2/3] media: ti: cal: Fix wrong goto on error path

Message ID 20250326-cal-streams-v7-2-659df87ad231@ideasonboard.com (mailing list archive)
State New
Headers show
Series media: ti: cal: Add streams support | expand

Commit Message

Tomi Valkeinen March 26, 2025, 11:34 a.m. UTC
If pm_runtime_resume_and_get() fails, we should unprepare the context,
but currently we skip that as we goto to a later line.

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
---
 drivers/media/platform/ti/cal/cal-video.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Laurent Pinchart March 27, 2025, 11:15 p.m. UTC | #1
Hi Tomi,

Thank you for the patch.

On Wed, Mar 26, 2025 at 01:34:02PM +0200, Tomi Valkeinen wrote:
> If pm_runtime_resume_and_get() fails, we should unprepare the context,
> but currently we skip that as we goto to a later line.
> 
> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/media/platform/ti/cal/cal-video.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/ti/cal/cal-video.c b/drivers/media/platform/ti/cal/cal-video.c
> index 4eb77f46f030..29c38bf8d7a1 100644
> --- a/drivers/media/platform/ti/cal/cal-video.c
> +++ b/drivers/media/platform/ti/cal/cal-video.c
> @@ -744,7 +744,7 @@ static int cal_start_streaming(struct vb2_queue *vq, unsigned int count)
>  
>  	ret = pm_runtime_resume_and_get(ctx->cal->dev);
>  	if (ret < 0)
> -		goto error_pipeline;
> +		goto error_unprepare;
>  
>  	cal_ctx_set_dma_addr(ctx, addr);
>  	cal_ctx_start(ctx);
> @@ -761,8 +761,8 @@ static int cal_start_streaming(struct vb2_queue *vq, unsigned int count)
>  error_stop:
>  	cal_ctx_stop(ctx);
>  	pm_runtime_put_sync(ctx->cal->dev);
> +error_unprepare:
>  	cal_ctx_unprepare(ctx);
> -
>  error_pipeline:
>  	video_device_pipeline_stop(&ctx->vdev);
>  error_release_buffers:
diff mbox series

Patch

diff --git a/drivers/media/platform/ti/cal/cal-video.c b/drivers/media/platform/ti/cal/cal-video.c
index 4eb77f46f030..29c38bf8d7a1 100644
--- a/drivers/media/platform/ti/cal/cal-video.c
+++ b/drivers/media/platform/ti/cal/cal-video.c
@@ -744,7 +744,7 @@  static int cal_start_streaming(struct vb2_queue *vq, unsigned int count)
 
 	ret = pm_runtime_resume_and_get(ctx->cal->dev);
 	if (ret < 0)
-		goto error_pipeline;
+		goto error_unprepare;
 
 	cal_ctx_set_dma_addr(ctx, addr);
 	cal_ctx_start(ctx);
@@ -761,8 +761,8 @@  static int cal_start_streaming(struct vb2_queue *vq, unsigned int count)
 error_stop:
 	cal_ctx_stop(ctx);
 	pm_runtime_put_sync(ctx->cal->dev);
+error_unprepare:
 	cal_ctx_unprepare(ctx);
-
 error_pipeline:
 	video_device_pipeline_stop(&ctx->vdev);
 error_release_buffers: