From 63b2419e4c5732e4ca64cd8ced4d7557fdf7df8b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 10 Aug 2026 10:38:50 +0000 Subject: [PATCH 1/2] Initial plan From 53db6a0e7f78a3d155f0f939ff429329ec693327 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 10 Aug 2026 10:40:31 +0000 Subject: [PATCH 2/2] audio: dcblock: reject mismatched source/sink frame formats in prepare Add a check in dcblock_prepare() that rejects pipelines where the sink frame format does not match the source frame format. Without this check, the processing kernel would interpret the sink buffer using the source sample type/width and corrupt output. Signed-off-by: Copilot Co-authored-by: piotrhoppeintel <93944786+piotrhoppeintel@users.noreply.github.com> --- src/audio/dcblock/dcblock.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/audio/dcblock/dcblock.c b/src/audio/dcblock/dcblock.c index 15e6139b7a89..69301ce96293 100644 --- a/src/audio/dcblock/dcblock.c +++ b/src/audio/dcblock/dcblock.c @@ -194,6 +194,11 @@ static int dcblock_prepare(struct processing_module *mod, /* get sink data format and period bytes */ cd->sink_format = audio_stream_get_frm_fmt(&sinkb->stream); + if (cd->source_format != cd->sink_format) { + comp_err(dev, "source and sink frame formats do not match"); + return -EINVAL; + } + dcblock_init_state(cd); cd->dcblock_func = dcblock_find_func(cd->source_format); if (!cd->dcblock_func) {