[alsa-devel] [Regression] With the new 2.6.33 when I plug headphones, the speaker doen't get off anymore

giggz giggzounet at gmail.com
Sat Feb 27 14:59:51 CET 2010

giggzounet a écrit :
> Hi,
> I have installed debian stable lenny + backports on an eeepc 1201n. With
> the 2.6.30 or 2.6.32 from lenny-backport I don't have problem with sound
> : when I plug the headphones, speakers get off.
> I have tested with 2.6.33 and when I plug headphones, speakers don't get
> off anymore. so I have sound in headphones and speakers.
> 22:42 giggz at baal ~ % cat /proc/asound/card0/codec#* | grep Codec
> Codec: Realtek ALC269
> Codec: Nvidia MCP7A HDMI
> I attach the output of alsa-info with the and the 2.6.33 (I'm
> in a Uni Campus and it's quite difficult to have internet on a external
> laptop...so I attach them at this mail and I don't upload them on pastbin).
> I have opened a bug on the kernel bugzilla (bug 15399). Should I provide
> anything more ?

Following the advice of Paul Menzel I did a "diff" of the sources of the kernel and of the 2.6.33. In patch_realtek.c, we see that there
is an new snd_hda_jack_detect funtion with 2 arguments. I have noticed
that the second argument is "normaly" the second argument of
snd_hda_codec_read. In the alc269_speaker_automute function there is
this new snd_hda_jack_detect function, but the second argument is "nid".
But in the old alc269_speaker_automute of the the second
argument of snd_hda_codec_read is 0x15. So I think there is perhaps a
bug here...But I hesitate to modify the source...so I'm waiting the
anwser of the dev.

--- patch_realtek.c	2010-02-27 14:58:06.000000000 +0100
+++ patch_realtek_modif.c	2010-02-27 14:58:54.000000000 +0100
@@ -13381,7 +13381,7 @@
 	unsigned int present;
 	unsigned char bits;

-	present = snd_hda_jack_detect(codec, nid);
+	present = snd_hda_jack_detect(codec, 0x15);
 	bits = present ? AMP_IN_MUTE(0) : 0;
 	snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0,
 				AMP_IN_MUTE(0), bits);

Best regards,

More information about the Alsa-devel mailing list