At Wed, 13 Feb 2008 13:05:48 +0100, Matej Laitl wrote: > > On Wednesday 13 of February 2008 11:59:58 Takashi Iwai wrote: > > > Now I just found that the new "Speaker" switch forgets it's value from > > > time to time, ie. it's muted, you go and have lunch, and when you get > > > back and start the music, it's unmuted. It is probably related to > > > aggressive hda-codec powersaving, which I have enabled and set to 20 > > > secs. > > > > Hm, does the patch below have any influence? > > If the problem still persists, please take alsa-info.sh snapshots > > before and after power-saving. > > This patch did not have any effect. (i haven't tested suspend-to-ram) > > alsa-info before powersaving (speaker silent, mixer says: Speaker=MM): > http://pastebin.ca/902330 > > alsa-info after powersaving (speaker loud, mixer says: Speaker=MM): > http://pastebin.ca/902332 Oh, it's my thinko. The init routine shouldn't update the amp cache. The patch below should fix this problem. Actually it reverts the code to my first patch. Takashi --- diff -r f4f3c5e8931a pci/hda/patch_realtek.c --- a/pci/hda/patch_realtek.c Tue Feb 12 18:37:26 2008 +0100 +++ b/pci/hda/patch_realtek.c Wed Feb 13 14:06:44 2008 +0100 @@ -3489,7 +3489,8 @@ static void alc_set_pin_output(struct hd snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, pin_type); /* unmute pin */ - snd_hda_codec_amp_stereo(codec, nid, HDA_OUTPUT, 0, 0xff, 0x00); + snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE, + AMP_OUT_UNMUTE); } static void alc880_auto_set_output_and_unmute(struct hda_codec *codec, _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel