]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ASoC: SOF: sof-audio: unprepare when swidget->use_count > 0
authorBard Liao <yung-chuan.liao@linux.intel.com>
Wed, 18 Jan 2023 10:12:53 +0000 (12:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Feb 2023 10:28:16 +0000 (11:28 +0100)
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: <stable@vger.kernel.org> # 6.1
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230118101255.29139-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/soc/sof/sof-audio.c

index 62092e2d609c728dbe16d641c63a220e9316b33c..2b93d46942929fde2afde5f155d9e7174a6492f0 100644 (file)
@@ -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)