At Sun, 29 Apr 2007 17:14:21 +0100 (BST), Daniel Drake wrote:
After resume from suspend-to-RAM, there is no sound output from my Intel HDA hardware:
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01) Found in a Dell Inspiron 640m, SigmaTel STAC9200 chip.
After resuming, sound immediately returns when you adjust the volume one notch in either direction. I reported this on the ALSA bug tracker (#0002989).
Further investigation shows that the AC_VERB_SET_AMP_GAIN_MUTE verb is not being executed during resume, which seems strange. Does other hardware really store this value during a suspend/resume cycle? Or maybe the volume is generally controlled through other means on other setups? I'm not entirely sure what the difference is between kcontrol and kcontrol_new structures, but I note that there is already some code to restore the values for kcontrol_new elements.
I solved the issue with the following patch. Is it correct?
The controls should have been restored by snd_hda_resume_ctls() call in stac92xx_resume(), so basically your patch must be suprefluous. Could you check whether this gets called?
Takashi