From: Bard Liao Date: Wed, 18 Jan 2023 10:12:53 +0000 (+0200) Subject: ASoC: SOF: sof-audio: unprepare when swidget->use_count > 0 X-Git-Tag: baikal/aarch64/sdk6.1~83 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=4cdde555d24656f6e358da71a83418c4163f6393;p=kernel.git ASoC: SOF: sof-audio: unprepare when swidget->use_count > 0 commit 7d2a67e02549c4b1feaac4d8b4151bf46424a047 upstream. We should unprepare the widget if its use_count = 1. Fixes: 6b2f77ee7c24 ("ASoC: SOF: don't unprepare widget used other pipelines") Cc: # 6.1 Signed-off-by: Bard Liao Reviewed-by: Ranjani Sridharan Reviewed-by: Pierre-Louis Bossart Reviewed-by: Rander Wang Signed-off-by: Peter Ujfalusi Link: https://lore.kernel.org/r/20230118101255.29139-2-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown Signed-off-by: Greg Kroah-Hartman --- diff --git a/sound/soc/sof/sof-audio.c b/sound/soc/sof/sof-audio.c index 62092e2d609c7..2b93d46942929 100644 --- a/sound/soc/sof/sof-audio.c +++ b/sound/soc/sof/sof-audio.c @@ -272,7 +272,7 @@ sof_unprepare_widgets_in_path(struct snd_sof_dev *sdev, struct snd_soc_dapm_widg struct snd_soc_dapm_path *p; /* return if the widget is in use or if it is already unprepared */ - if (!swidget->prepared || swidget->use_count > 1) + if (!swidget->prepared || swidget->use_count > 0) return; if (widget_ops[widget->id].ipc_unprepare)