1. 15 Dec, 2009 1 commit
    • Steve Soule's avatar
      ALSA: ac97_codec - increase timeout for analog sections to 5 second · f7489027
      Steve Soule authored
      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: default avatarSteve Soule <sts11dbxr@gmail.com>
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      f7489027
  2. 12 Dec, 2009 39 commits