diff options
Diffstat (limited to 'sound/pci/hda/hda_controller.c')
| -rw-r--r-- | sound/pci/hda/hda_controller.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c index 3715a5725613..1c60beb5b70a 100644 --- a/sound/pci/hda/hda_controller.c +++ b/sound/pci/hda/hda_controller.c | |||
| @@ -1337,8 +1337,12 @@ EXPORT_SYMBOL_GPL(azx_probe_codecs); | |||
| 1337 | /* configure each codec instance */ | 1337 | /* configure each codec instance */ |
| 1338 | int azx_codec_configure(struct azx *chip) | 1338 | int azx_codec_configure(struct azx *chip) |
| 1339 | { | 1339 | { |
| 1340 | struct hda_codec *codec; | 1340 | struct hda_codec *codec, *next; |
| 1341 | list_for_each_codec(codec, &chip->bus) { | 1341 | |
| 1342 | /* use _safe version here since snd_hda_codec_configure() deregisters | ||
| 1343 | * the device upon error and deletes itself from the bus list. | ||
| 1344 | */ | ||
| 1345 | list_for_each_codec_safe(codec, next, &chip->bus) { | ||
| 1342 | snd_hda_codec_configure(codec); | 1346 | snd_hda_codec_configure(codec); |
| 1343 | } | 1347 | } |
| 1344 | return 0; | 1348 | return 0; |
