提交 f0900eb2 编写于 作者: S Subhransu S. Prusty 提交者: Mark Brown

ASoC: Intel: Skylake: Fix to use correct macros for the path iteration

In case of playback, for the BE dai source path should be iterated to find
the pipe params. With sink path iterated, this resulted in a loop and kernel
panic with page request failure.
Similar are the cases for Capture and FE dais. Using correct macros to fix
the panic
Signed-off-by: NSubhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: NVinod Koul <vinod.koul@intel.com>
Signed-off-by: NMark Brown <broonie@kernel.org>
上级 bc03281a
......@@ -844,7 +844,7 @@ skl_tplg_fe_get_cpr_module(struct snd_soc_dai *dai, int stream)
if (stream == SNDRV_PCM_STREAM_PLAYBACK) {
w = dai->playback_widget;
snd_soc_dapm_widget_for_each_source_path(w, p) {
snd_soc_dapm_widget_for_each_sink_path(w, p) {
if (p->connect && p->sink->power &&
is_skl_dsp_widget_type(p->sink))
continue;
......@@ -857,7 +857,7 @@ skl_tplg_fe_get_cpr_module(struct snd_soc_dai *dai, int stream)
}
} else {
w = dai->capture_widget;
snd_soc_dapm_widget_for_each_sink_path(w, p) {
snd_soc_dapm_widget_for_each_source_path(w, p) {
if (p->connect && p->source->power &&
is_skl_dsp_widget_type(p->source))
continue;
......@@ -945,7 +945,7 @@ static int skl_tplg_be_set_src_pipe_params(struct snd_soc_dai *dai,
{
struct snd_soc_dapm_path *p;
snd_soc_dapm_widget_for_each_sink_path(w, p) {
snd_soc_dapm_widget_for_each_source_path(w, p) {
if (p->connect && is_skl_dsp_widget_type(p->source) &&
p->source->priv) {
......@@ -969,7 +969,7 @@ static int skl_tplg_be_set_sink_pipe_params(struct snd_soc_dai *dai,
{
struct snd_soc_dapm_path *p = NULL;
snd_soc_dapm_widget_for_each_source_path(w, p) {
snd_soc_dapm_widget_for_each_sink_path(w, p) {
if (p->connect && is_skl_dsp_widget_type(p->sink) &&
p->sink->priv) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册