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>
                DECLARE_BITMAP(has_no_links, MEDIA_ENTITY_MAX_PADS);
 
                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;
 
                /* Already streaming --- no need to check. */