[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: Shuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Shuah Khan 2016-01-30 18:10:52 -02:00 committed by Mauro Carvalho Chehab
parent d40ec6fdb0
commit 3801bc7d1b

View File

@ -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))) {
entity_err->stream_count--;
if (entity_err->stream_count == 0)
entity_err->pipe = NULL;
/* 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,9 +489,12 @@ void media_entity_pipeline_stop(struct media_entity *entity)
media_entity_graph_walk_start(graph, entity);
while ((entity = media_entity_graph_walk_next(graph))) {
entity->stream_count--;
if (entity->stream_count == 0)
entity->pipe = NULL;
/* 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)