mirror of
https://github.com/torvalds/linux.git
synced 2024-12-07 03:21:32 +00:00
[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:
parent
d40ec6fdb0
commit
3801bc7d1b
@ -452,9 +452,12 @@ error:
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user