@@ -121,13 +121,8 @@ static int sof_widget_free_unlocked(struct snd_sof_dev *sdev,
121121
122122int sof_widget_free (struct snd_sof_dev * sdev , struct snd_sof_widget * swidget )
123123{
124- int ret ;
125-
126- mutex_lock (& swidget -> setup_mutex );
127- ret = sof_widget_free_unlocked (sdev , swidget );
128- mutex_unlock (& swidget -> setup_mutex );
129-
130- return ret ;
124+ guard (mutex )(& swidget -> setup_mutex );
125+ return sof_widget_free_unlocked (sdev , swidget );
131126}
132127EXPORT_SYMBOL (sof_widget_free );
133128
@@ -240,13 +235,8 @@ static int sof_widget_setup_unlocked(struct snd_sof_dev *sdev,
240235
241236int sof_widget_setup (struct snd_sof_dev * sdev , struct snd_sof_widget * swidget )
242237{
243- int ret ;
244-
245- mutex_lock (& swidget -> setup_mutex );
246- ret = sof_widget_setup_unlocked (sdev , swidget );
247- mutex_unlock (& swidget -> setup_mutex );
248-
249- return ret ;
238+ guard (mutex )(& swidget -> setup_mutex );
239+ return sof_widget_setup_unlocked (sdev , swidget );
250240}
251241EXPORT_SYMBOL (sof_widget_setup );
252242
@@ -377,24 +367,22 @@ static int sof_setup_pipeline_connections(struct snd_sof_dev *sdev,
377367 else
378368 swidget = sroute -> src_widget ;
379369
380- mutex_lock (& swidget -> setup_mutex );
381- if (!swidget -> use_count ) {
382- mutex_unlock (& swidget -> setup_mutex );
383- continue ;
384- }
370+ scoped_guard (mutex , & swidget -> setup_mutex ) {
371+ if (!swidget -> use_count )
372+ continue ;
385373
386- if (tplg_ops && tplg_ops -> route_setup ) {
387- /*
388- * this route will get freed when either the source widget or the sink
389- * widget is freed during hw_free
390- */
391- ret = tplg_ops -> route_setup (sdev , sroute );
392- if (!ret )
393- sroute -> setup = true;
374+ if (tplg_ops && tplg_ops -> route_setup ) {
375+ /*
376+ * this route will get freed when either the
377+ * source widget or the sink widget is freed
378+ * during hw_free
379+ */
380+ ret = tplg_ops -> route_setup (sdev , sroute );
381+ if (!ret )
382+ sroute -> setup = true;
383+ }
394384 }
395385
396- mutex_unlock (& swidget -> setup_mutex );
397-
398386 if (ret < 0 )
399387 return ret ;
400388 }
0 commit comments