Uh oh!
There was an error while loading. Please reload this page.
Fix pipeline set up with multi-stream capture - #3858
Conversation
Export the widget_in_list() function to be used by other modules. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
b3b2a47 to
29f8a89CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
29f8a89 to
b367bf5CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
b367bf5 to
8674ce1Compare8674ce1 to
3add4e5CompareCalling the sof_widget_setup/free() for the DAI/AIF widgets inside the snd_soc_dapm_widget_for_each_sink_path() loop will end up setting up or freeing the widget multiple times if there are multiple paths leaving the widget. Fix this by moving the widget setup/free for the starting widget in each path outside the loop. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
When walking the list of the widgets from the source to the sink, we accidentally also end up preparing/setting up the widgets that are not in the list of connected DAPM widgets associated with the PCM. Avoid this by checking if a widget is part of the connected DAPM widget list during widget prepare, unprepare, setup or free. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
3add4e5 to
1d420f4Compare| /* unprepare all widgets in the sink paths */ | ||
| snd_soc_dapm_widget_for_each_sink_path(widget, p) { | ||
| if (!widget_in_list(list, p->sink)) | ||
| continue; |
There was a problem hiding this comment.
How this happens?
We walk from source to sink, so walk through the widgets which are in the path.
How we are enabling a widget (which is in the path) which is not in the path?
There was a problem hiding this comment.
@ujfalusi snd_soc_dapm_widget_for_each_sink_path() looks at all paths leaving the widget not just the ones that have an active DAPM widget associated with the PCM.
plbossart
left a comment
There was a problem hiding this comment.
Looks good but two questions on error handling (I haven't changed have I)
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
No description provided.