From: Sudheer Papothi spapothi@codeaurora.org
During sound card registration, dapm adds routes of codec and other component paths, but the invalidation of the widgets in these paths will happen only when the sound card is instantiated. As these routes are added before sound card instantiation, these widgets are not invalidated until a playback or recording usecase is started.
Audio playback or recording usecase is not started in the case of codec loopback. So, if codec loopback is performed just after soundcard registration, then the widgets are not powered up as those widgets are not invalidated, results into codec loopback failure.
Change is to remove the sound card instantiation check condition in dapm add paths, so widgets get invalidated whenever they are added.
Signed-off-by: Sudheer Papothi spapothi@codeaurora.org Signed-off-by: Srinivas Kandagatla srinivas.kandagatla@linaro.org --- sound/soc/soc-dapm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index b6378f025836..13544f7c850b 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -2862,8 +2862,7 @@ static int snd_soc_dapm_add_path(struct snd_soc_dapm_context *dapm, dapm_mark_dirty(widgets[dir], "Route added"); }
- if (dapm->card->instantiated && path->connect) - dapm_path_invalidate(path); + dapm_path_invalidate(path);
return 0; err: