linux/sound/pci
Takashi Iwai d94815f917 ALSA: hda - Fix endless loop of codec configure
azx_codec_configure() loops over the codecs found on the given
controller via a linked list.  The code used to work in the past, but
in the current version, this may lead to an endless loop when a codec
binding returns an error.

The culprit is that the snd_hda_codec_configure() unregisters the
device upon error, and this eventually deletes the given codec object
from the bus.  Since the list is initialized via list_del_init(), the
next object points to the same device itself.  This behavior change
was introduced at splitting the HD-audio code code, and forgotten to
adapt it here.

For fixing this bug, just use a *_safe() version of list iteration.

Fixes: d068ebc25e ("ALSA: hda - Move some codes up to hdac_bus struct")
Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-06-28 12:10:05 +02:00
..
ac97 scripts/spelling.txt: add "swith" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
ali5451 ALSA: ali5451: fix spelling mistake in "ali_capture_preapre" 2017-04-30 08:21:48 +02:00
asihpi ALSA: asihpi: fix kernel memory disclosure 2016-10-18 14:08:25 +02:00
au88x0 ALSA: au88x0: avoid theoretical uninitialized access 2017-03-24 11:59:51 +01:00
aw2 ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
ca0106 ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
cs46xx scripts/spelling.txt: add "overwriten" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
cs5535audio ALSA: cs5535audio: fix unused warnings on resume/suspend 2016-12-28 16:05:12 +01:00
ctxfi ALSA: ctxfi: Fix the incorrect check of dma_set_mask() call 2017-03-20 10:08:19 +01:00
echoaudio ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
emu10k1 ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
hda ALSA: hda - Fix endless loop of codec configure 2017-06-28 12:10:05 +02:00
ice1712 Merge branch 'topic/for-4.12' into for-next 2017-03-20 12:24:26 +01:00
korg1212 lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
lola ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
lx6464es ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
mixart ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
nm256 ALSA: constify snd_pcm_ops structures 2016-09-02 11:49:10 +02:00
oxygen ALSA: oxygen: simply setting of the shortname for Xonar DG cards 2017-03-29 21:14:20 +02:00
pcxhr Merge branch 'topic/for-4.12' into for-next 2017-03-20 12:24:26 +01:00
riptide Annotate hardware config module parameters in sound/pci/ 2017-04-20 12:02:32 +01:00
rme9652 ALSA: pci: Constify snd_rawmidi_ops 2017-01-12 12:50:26 +01:00
trident ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
vx222 ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
ymfpci Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
ad1889.c ALSA: ad1889: constify snd_pcm_ops structures 2016-09-02 11:50:24 +02:00
ad1889.h
ak4531_codec.c ALSA: pci: Drop superfluous ifdef CONFIG_PROC_FS 2015-05-29 08:00:06 +02:00
als300.c ALSA: constify snd_pcm_ops structures 2016-09-02 11:49:10 +02:00
als4000.c Annotate hardware config module parameters in sound/pci/ 2017-04-20 12:02:32 +01:00
atiixp_modem.c ALSA: constify snd_pcm_ops structures 2016-09-02 11:49:10 +02:00
atiixp.c ALSA: constify snd_pcm_ops structures 2016-09-02 11:49:10 +02:00
azt3328.c ALSA: pci: don't opencode IS_REACHABLE() 2016-11-13 21:33:41 +01:00
azt3328.h
bt87x.c ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
cmipci.c Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
cs4281.c ALSA: pci: constify snd_kcontrol_new structures 2017-02-21 22:01:21 +01:00
cs5530.c ASoC: sb16: Simplify snd_sb16dsp_pcm() 2015-01-02 16:28:35 +01:00
ens1370.c Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
ens1371.c
es1938.c ALSA: pci: don't opencode IS_REACHABLE() 2016-11-13 21:33:41 +01:00
es1968.c ALSA: pci: don't opencode IS_REACHABLE() 2016-11-13 21:33:41 +01:00
fm801.c ALSA: constify snd_pcm_ops structures 2016-09-02 11:49:10 +02:00
intel8x0.c alsa: use set_memory.h header 2017-05-08 17:15:14 -07:00
intel8x0m.c ALSA: pci: Drop superfluous ifdef CONFIG_PROC_FS 2015-05-29 08:00:06 +02:00
Kconfig ALSA: jack: Allow building the jack layer without input device 2016-02-23 09:03:07 +01:00
maestro3.c ALSA: constify snd_pcm_ops structures 2016-09-02 11:49:10 +02:00
Makefile
rme32.c ALSA: constify snd_pcm_ops structures 2016-09-02 11:49:10 +02:00
rme96.c ALSA: constify snd_pcm_ops structures 2016-09-02 11:49:10 +02:00
sis7019.c ALSA: remove deprecated use of pci api 2015-04-16 12:19:52 +02:00
sis7019.h
sonicvibes.c Annotate hardware config module parameters in sound/pci/ 2017-04-20 12:02:32 +01:00
via82xx_modem.c ALSA: constify snd_pcm_ops structures 2016-09-02 11:49:10 +02:00
via82xx.c Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00