linux/sound/pci/ac97
Steve Soule f74890277a ALSA: ac97_codec - increase timeout for analog sections to 5 second
I have a Soundblaster 16PCI. For many years, alsa has had a bug where
not all of the card's controls are detected (many alsa versions,
many kernel versions). In particular, Master Playback Volume is
usually not detected, and so I get no sound or extremely faint sound.
The problem has always been inconsistent: sometimes all of the controls
are detected correctly, and sometimes a partial set is detected. It works
correctly about 10% of the time.

Finally, I got around to tracking down the problem. When the driver
fails, it prints the kernel message "AC'97 0 analog subsections not
ready". This message is generated from the function snd_ac97_mixer()
in ac97_codec.c. The message indicates that the card failed to come
back after reset within the time limit. The time limit is
120 milliseconds.

I tried increasing the time limit to 1 second, and found that this
made the driver work about 70% of the time. I tried increasing it
to 5 seconds, and it now seems to work 100% of the time.

I expect that this change would be completely harmless for
existing cards that work, and would only introduce additional
delay for cards that do not work.

ALSA bug#4032.

Signed-off-by: Steve Soule <sts11dbxr@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-12-15 09:31:31 +01:00
..
ac97_codec.c ALSA: ac97_codec - increase timeout for analog sections to 5 second 2009-12-15 09:31:31 +01:00
ac97_id.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
ac97_local.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
ac97_patch.c ALSA: rename "PC Speaker" and "PC Beep" controls to "Beep" 2009-11-05 09:00:18 +01:00
ac97_patch.h [ALSA] ac97_patch: compilation warning fix 2008-01-31 17:29:11 +01:00
ac97_pcm.c [ALSA] sound: ac97_pcm.c fix shadowed variable warning 2008-04-24 12:00:17 +02:00
ac97_proc.c ALSA: AC97: Print AC97 flags in proc file to make debug it easier 2009-01-29 08:38:36 +01:00
Makefile [ALSA] Make ak4531 local to ens1370 driver 2008-05-30 09:26:09 +02:00