Bug 15399
Summary: | [PATCH]since 2.6.33 when I plug headphones, the speaker doen't get off anymore | ||
---|---|---|---|
Product: | Drivers | Reporter: | guillaume (giggzounet) |
Component: | Sound(ALSA) | Assignee: | Jaroslav Kysela (perex) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | alan, frirajder, tiwai |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.33 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
output of the also-info script when I boot on the 2.6.32.9
output of the also-info script when I boot on the 2.6.33 custom config file for the 2.6.32.9 custom config file for the 2.6.33 |
Description
guillaume
2010-02-25 21:54:56 UTC
Created attachment 25238 [details]
output of the also-info script when I boot on the 2.6.32.9
With the 2.6.32.9, when I plug the headphones, the speaker gets off. So NO problem
Created attachment 25239 [details]
output of the also-info script when I boot on the 2.6.33
With the 2.6.33, when I plug my headphone, the speaker doesn't get off.
Created attachment 25241 [details]
custom config file for the 2.6.32.9
custom config file for the 2.6.32.9 with I don't have any problem with the sound driver.
Created attachment 25242 [details]
custom config file for the 2.6.33
custom config file for the 2.6.33. I get problem with it.
I have discussed on the alsa-devel list. I did a "diff" of the sources of the 2.6.32.9 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 2.6.32.9 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); I have modified the patch_realtek.c with snd_hda_jack_detect(codec, 0x15); and recompile the kernel. Then reboot on this kernel. My initial problem (speaker doesn't get off when I plug the headphones) is solved with that. I can confirm this bug running 2.6.33.4 on EEE 901. Can any developer comment on the patch posted above? Is it correct way to fix the problem? This bug must have been fixed in the recent kernels, as the Realtek driver is using the generic parser now. Reopen if the problem is still present with 3.12 kernel. |