]> git.ipfire.org Git - thirdparty/linux.git/commit
ASoC: SOF: sof-audio: Fix error path in sof_widget_setup_unlocked()
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Thu, 30 Jul 2026 08:59:14 +0000 (11:59 +0300)
committerMark Brown <broonie@kernel.org>
Thu, 30 Jul 2026 23:08:07 +0000 (00:08 +0100)
commite780e4917d43683224812400fe3dc4816fceba75
treefde4be1057c4bc88621a23afc75fb5e2a31d6f00
parentae63720dd7c3647d64f7a85e5e1870f90eb569d6
ASoC: SOF: sof-audio: Fix error path in sof_widget_setup_unlocked()

If either tplg_ops->dai_config or widget_kcontrol_setup fail during widget
setup we would double decrement the use_count of the widget because the
sof_widget_free_unlocked() would be called twice, similarly the core_put
would be invoked twice as well.

Since the use_count and core_put() is handled within the widget_free
function we need to return without falling through the pipe_widget_free
label.

The fixes tag is picked to the last change around this part of the code
which is adequately old enough for backporting purposes.

Link: https://github.com/thesofproject/sof/issues/10826
Fixes: 31ed8da1c8e5 ("ASoC: SOF: sof-audio: Modify logic for enabling/disabling topology cores")
Cc: stable@vger.kernel.org
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://patch.msgid.link/20260730085914.27546-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/sof-audio.c