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: <[email protected]> # 6.1 Signed-off-by: Ranjani Sridharan <[email protected]> Signed-off-by: Peter Ujfalusi <[email protected]> Reviewed-by: Rander Wang <[email protected]> Reviewed-by: AngeloGioacchino Del Regno <[email protected]> Tested-by: AngeloGioacchino Del Regno <[email protected]> Signed-off-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 7d2a67e commit 0ad84b1

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

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)