From 57c25a58ba0809db7f85d3550296209958876f9a Mon Sep 17 00:00:00 2001 From: Andy Ross Date: Mon, 20 Nov 2023 14:42:42 -0800 Subject: [PATCH] Revert "audio/mux: Fix crash on misconfiguration" This was only a partial workaround. The root cause is that the sink (in a different pipeline) really is off, and it needs to be turned on somehow. This reverts commit 86561196e6a27ed68d8cbeb1b2e79409c305ace0. --- src/audio/mux/mux.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/src/audio/mux/mux.c b/src/audio/mux/mux.c index 69d87cbb995e..af6f9976f284 100644 --- a/src/audio/mux/mux.c +++ b/src/audio/mux/mux.c @@ -473,23 +473,18 @@ static int demux_process(struct processing_module *mod, list_for_item(clist, &dev->bsink_list) { sink = container_of(clist, struct comp_buffer, source_list); sink_c = buffer_acquire(sink); + if (sink_c->sink->state == dev->state) { + i = get_stream_index(dev, cd, sink_c->pipeline_id); + /* return if index wrong */ + if (i < 0) { + buffer_release(sink_c); + return i; + } - if (sink_c->sink->state != dev->state) { - comp_err(dev, "demux_process(): stream %d sink state %d does not match dev state %d", - i, sink_c->sink->state, dev->state); - return -1; - } - - i = get_stream_index(dev, cd, sink_c->pipeline_id); - /* return if index wrong */ - if (i < 0) { - buffer_release(sink_c); - return i; + look_ups[i] = get_lookup_table(dev, cd, sink_c->pipeline_id); + sinks_stream[i] = &sink_c->stream; } - look_ups[i] = get_lookup_table(dev, cd, sink_c->pipeline_id); - sinks_stream[i] = &sink_c->stream; - buffer_release(sink_c); }