Commit f676fa06 authored by Sachin Kamat's avatar Sachin Kamat Committed by Mauro Carvalho Chehab
Browse files

[media] s5p-fimc: Stop media entity pipeline if fimc_pipeline_validate fails



Stops the media entity pipeline which was started earlier
if fimc_pipeline_validate fails.

[s.nawrocki: reworked to not exceed 80 characters line length]

Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent a1a5861b
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1040,21 +1040,23 @@ static int fimc_cap_streamon(struct file *file, void *priv,
{
	struct fimc_dev *fimc = video_drvdata(file);
	struct fimc_pipeline *p = &fimc->pipeline;
	struct v4l2_subdev *sd = p->subdevs[IDX_SENSOR];
	int ret;

	if (fimc_capture_active(fimc))
		return -EBUSY;

	ret = media_entity_pipeline_start(&p->subdevs[IDX_SENSOR]->entity,
				    p->m_pipeline);
	ret = media_entity_pipeline_start(&sd->entity, p->m_pipeline);
	if (ret < 0)
		return ret;

	if (fimc->vid_cap.user_subdev_api) {
		ret = fimc_pipeline_validate(fimc);
		if (ret)
		if (ret < 0) {
			media_entity_pipeline_stop(&sd->entity);
			return ret;
		}
	}
	return vb2_streamon(&fimc->vid_cap.vbq, type);
}