Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3801bc7d authored by Shuah Khan's avatar Shuah Khan Committed by Mauro Carvalho Chehab
Browse files

[media] media: Media Controller fix to not let stream_count go negative



Change media_entity_pipeline_stop() to not decrement
stream_count of an inactive media pipeline. Doing so,
results in preventing starting the pipeline.

Signed-off-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent d40ec6fd
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -452,9 +452,12 @@ __must_check int media_entity_pipeline_start(struct media_entity *entity,
	media_entity_graph_walk_start(graph, entity_err);

	while ((entity_err = media_entity_graph_walk_next(graph))) {
		/* don't let the stream_count go negative */
		if (entity->stream_count > 0) {
			entity_err->stream_count--;
			if (entity_err->stream_count == 0)
				entity_err->pipe = NULL;
		}

		/*
		 * We haven't increased stream_count further than this
@@ -486,10 +489,13 @@ void media_entity_pipeline_stop(struct media_entity *entity)
	media_entity_graph_walk_start(graph, entity);

	while ((entity = media_entity_graph_walk_next(graph))) {
		/* don't let the stream_count go negative */
		if (entity->stream_count > 0) {
			entity->stream_count--;
			if (entity->stream_count == 0)
				entity->pipe = NULL;
		}
	}

	if (!--pipe->streaming_count)
		media_entity_graph_walk_cleanup(graph);