Skip to content

Commit 0ad84b1

Browse files
ranj063broonie
authored andcommitted
ASoC: SOF: sof-audio: skip prepare/unprepare if swidget is NULL
Skip preparing/unpreparing widgets if the swidget pointer is NULL. This will be true in the case of virtual widgets in topology that were added for reusing the legacy HDA machine driver with SOF. Fixes: 9862dcf ("ASoC: SOF: don't unprepare widget used other pipelines") Cc: <stable@vger.kernel.org> # 6.1 Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20230118101255.29139-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 7d2a67e commit 0ad84b1

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

sound/soc/sof/sof-audio.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ sof_unprepare_widgets_in_path(struct snd_sof_dev *sdev, struct snd_soc_dapm_widg
272272
struct snd_soc_dapm_path *p;
273273

274274
/* return if the widget is in use or if it is already unprepared */
275-
if (!swidget->prepared || swidget->use_count > 0)
275+
if (!swidget || !swidget->prepared || swidget->use_count > 0)
276276
return;
277277

278278
if (widget_ops[widget->id].ipc_unprepare)
@@ -303,7 +303,7 @@ sof_prepare_widgets_in_path(struct snd_sof_dev *sdev, struct snd_soc_dapm_widget
303303
struct snd_soc_dapm_path *p;
304304
int ret;
305305

306-
if (!widget_ops[widget->id].ipc_prepare || swidget->prepared)
306+
if (!swidget || !widget_ops[widget->id].ipc_prepare || swidget->prepared)
307307
goto sink_prepare;
308308

309309
/* prepare the source widget */

0 commit comments

Comments
 (0)