}
list_add(&path->list, &dapm->card->paths);
---- list_add(&path->list_sink, &wsink->sources);
---- list_add(&path->list_source, &wsource->sinks);
-- -
-- - dapm_update_widget_flags(wsource);
-- - dapm_update_widget_flags(wsink);
++++ snd_soc_dapm_for_each_direction(dir)
++++ list_add(&path->list_node[dir], &widgets[dir]->edges[dir]);
- dapm_update_widget_flags(wsource);
- dapm_update_widget_flags(wsink);
-
---- dapm_mark_dirty(wsource, "Route added");
---- dapm_mark_dirty(wsink, "Route added");
++++ snd_soc_dapm_for_each_direction(dir) {
++++ dapm_update_widget_flags(widgets[dir]);
++++ dapm_mark_dirty(widgets[dir], "Route added");
++++ }
if (dapm->card->instantiated && path->connect)
dapm_path_invalidate(path);