mirror of https://gitee.com/openkylin/linux.git
ALSA: hda - Terminate the recursive connection search properly
The recursive search of widget connections in snd_hda_get_conn_index() must be terminated at the pin and the audio-out widgets. Otherwise you'll get "too deep connection" warnings unnecessarily. Reported-by: Francis Moreau <francis.moro@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
26b9b559ed
commit
99e14c9d41
|
@ -579,9 +579,13 @@ int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
recursive++;
|
recursive++;
|
||||||
for (i = 0; i < nums; i++)
|
for (i = 0; i < nums; i++) {
|
||||||
|
unsigned int type = get_wcaps_type(get_wcaps(codec, conn[i]));
|
||||||
|
if (type == AC_WID_PIN || type == AC_WID_AUD_OUT)
|
||||||
|
continue;
|
||||||
if (snd_hda_get_conn_index(codec, conn[i], nid, recursive) >= 0)
|
if (snd_hda_get_conn_index(codec, conn[i], nid, recursive) >= 0)
|
||||||
return i;
|
return i;
|
||||||
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_HDA(snd_hda_get_conn_index);
|
EXPORT_SYMBOL_HDA(snd_hda_get_conn_index);
|
||||||
|
|
Loading…
Reference in New Issue