pipeline_copy down stream will return 0 instead of the component copy() return value when an endpoint is reached. Make sure we return the component value. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> --- src/audio/pipeline.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/audio/pipeline.c b/src/audio/pipeline.c index ccd6094..4fe7896 100644 --- a/src/audio/pipeline.c +++ b/src/audio/pipeline.c @@ -789,7 +789,7 @@ static int pipeline_copy_to_downstream(struct comp_dev *start, /* stop going downstream if we reach an end point in this pipeline */ if (current->is_endpoint) - return 0; + goto out; } /* travel downstream to sink end point(s) */ @@ -815,6 +815,7 @@ static int pipeline_copy_to_downstream(struct comp_dev *start, } } +out: /* return back upstream */ tracev_pipe("CD-"); return err; -- 2.14.1