From ab540b76e7ce0ad7e634776488095a6a06e3dd9f Mon Sep 17 00:00:00 2001
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Date: Mon, 29 May 2023 11:32:08 +0300
Subject: [PATCH 11/12] media: qcom: camss: cleanup buffers in case
 start_streaming fails

Perform a proper cleanup if media_pipeline_start() fails.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 kernel/drivers/media/platform/qcom/camss/camss-video.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/drivers/media/platform/qcom/camss/camss-video.c b/kernel/drivers/media/platform/qcom/camss/camss-video.c
index f282275af626..e316bde9646c 100644
--- a/kernel/drivers/media/platform/qcom/camss/camss-video.c
+++ b/kernel/drivers/media/platform/qcom/camss/camss-video.c
@@ -493,7 +493,7 @@ static int video_start_streaming(struct vb2_queue *q, unsigned int count)
 
 	ret = media_pipeline_start(&vdev->entity, &video->pipe);
 	if (ret < 0)
-		return ret;
+		goto cleanup;
 
 	ret = video_check_format(video);
 	if (ret < 0)
@@ -522,6 +522,7 @@ static int video_start_streaming(struct vb2_queue *q, unsigned int count)
 error:
 	media_pipeline_stop(&vdev->entity);
 
+cleanup:
 	video->ops->flush_buffers(video, VB2_BUF_STATE_QUEUED);
 
 	return ret;
-- 
2.39.2

