sound fixes for 4.12
Two last-minute HD-audio fixes. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABAgAGBQJZVUCgAAoJEGwxgFQ9KSmkQEQP/2MbBHrmxstAAVE6OXIpDUlp K5jYZdDTNXm6IKMBvo8VA4lVV9Ok9doJCSV7SebJqEDIztYd1Tazl7eJkszUghYH tqbWlTPa7ZVQaOCEiUn6Koy6cUWLAPkN9hPKWs3k9KEYqGr5D7Ty5ZMpN2ztH2O4 vykpGBGSzcRAaYAGl88b0NKap1qgGQfaNGNSHKmUo88VD7HhTGxMX8z/9BlOBjGZ DIbKoqpw4HW132COmXzh8yczO26nixAY2rZ/pnHLk239Kod9jLhyVNDrQxkpZM3Y ATpv63/33g1kVMBPqtuNPoSiGvG7I6k5Z+mX/4VahG9nwuqhmoDsxClzohd67kW7 BI6MqGHRWZv8tte/Dh4gzdBhDzENjfnPLOQefUlut3dkuIIOQFfIVWIZ1+hvfm/j CiLDWF2TwDiKc2em7FZs7sE00/m14RWaJc5KtE4abkIDy4bg4kOM2AziPWGQZCX5 xXCzCy4+81/ogsVGRM+awVhl4ky8pdCyFQRfM5XwswtfG2ssw6frW5Q1YRrcQYzO nPv9sKNm4NNK6blXjgDkNsFr7lG9IrRhCurOnoCt49DyWn/khQjsL/X/p2opRrO1 jpN+U33Le7A6ci3zErVT4rIFlGdWESQ1XxnxVWB7ZzuJ8eHPXtejl8o5evFsvMeB HX2YGpM3ynExkBcVKnzv =fws/ -----END PGP SIGNATURE----- Merge tag 'sound-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Two last-minute HD-audio fixes" * tag 'sound-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Fix endless loop of codec configure ALSA: hda - set input_path bitmap to zero after moving it to new place
This commit is contained in:
Коммит
4adc6b9382
|
@ -295,6 +295,8 @@ struct hda_codec {
|
||||||
|
|
||||||
#define list_for_each_codec(c, bus) \
|
#define list_for_each_codec(c, bus) \
|
||||||
list_for_each_entry(c, &(bus)->core.codec_list, core.list)
|
list_for_each_entry(c, &(bus)->core.codec_list, core.list)
|
||||||
|
#define list_for_each_codec_safe(c, n, bus) \
|
||||||
|
list_for_each_entry_safe(c, n, &(bus)->core.codec_list, core.list)
|
||||||
|
|
||||||
/* snd_hda_codec_read/write optional flags */
|
/* snd_hda_codec_read/write optional flags */
|
||||||
#define HDA_RW_NO_RESPONSE_FALLBACK (1 << 0)
|
#define HDA_RW_NO_RESPONSE_FALLBACK (1 << 0)
|
||||||
|
|
|
@ -1337,8 +1337,12 @@ EXPORT_SYMBOL_GPL(azx_probe_codecs);
|
||||||
/* configure each codec instance */
|
/* configure each codec instance */
|
||||||
int azx_codec_configure(struct azx *chip)
|
int azx_codec_configure(struct azx *chip)
|
||||||
{
|
{
|
||||||
struct hda_codec *codec;
|
struct hda_codec *codec, *next;
|
||||||
list_for_each_codec(codec, &chip->bus) {
|
|
||||||
|
/* use _safe version here since snd_hda_codec_configure() deregisters
|
||||||
|
* the device upon error and deletes itself from the bus list.
|
||||||
|
*/
|
||||||
|
list_for_each_codec_safe(codec, next, &chip->bus) {
|
||||||
snd_hda_codec_configure(codec);
|
snd_hda_codec_configure(codec);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -3174,6 +3174,7 @@ static int check_dyn_adc_switch(struct hda_codec *codec)
|
||||||
spec->input_paths[i][nums]);
|
spec->input_paths[i][nums]);
|
||||||
spec->input_paths[i][nums] =
|
spec->input_paths[i][nums] =
|
||||||
spec->input_paths[i][n];
|
spec->input_paths[i][n];
|
||||||
|
spec->input_paths[i][n] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
nums++;
|
nums++;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче