[media] media: Enforce single entity->pipe in a pipeline

If a different entity->pipe in a pipeline was encountered, a warning was
issued but the execution continued as if nothing had happened. Return an
error instead right there.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Sakari Ailus 2015-11-29 17:20:02 -02:00 committed by Mauro Carvalho Chehab
parent 677cb4bfc2
commit 8aaf62b5b9
1 changed files with 6 additions and 1 deletions

View File

@ -323,7 +323,12 @@ __must_check int media_entity_pipeline_start(struct media_entity *entity,
DECLARE_BITMAP(has_no_links, MEDIA_ENTITY_MAX_PADS); DECLARE_BITMAP(has_no_links, MEDIA_ENTITY_MAX_PADS);
entity->stream_count++; entity->stream_count++;
WARN_ON(entity->pipe && entity->pipe != pipe);
if (WARN_ON(entity->pipe && entity->pipe != pipe)) {
ret = -EBUSY;
goto error;
}
entity->pipe = pipe; entity->pipe = pipe;
/* Already streaming --- no need to check. */ /* Already streaming --- no need to check. */