[alsa-devel] [ALSA] HDA: no sound in headphone-out caused by commit f889fa91ad47e (2.6.25-rc1 regression)

Takashi Iwai tiwai at suse.de
Wed Feb 13 14:06:20 CET 2008


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,


More information about the Alsa-devel mailing list