At Tue, 16 Oct 2007 10:58:19 +0300, Vasily Khoruzhick wrote: > > > > Hmm, the code logic looks correct to me. If HP jack is present, the > > > internal speaker should be muted. Otherwise it follows the state of > > > HP jack (muted/unmuted, that acts as a master switch). > > Original patch: > present = snd_hda_codec_read(codec, 0x1a, 0, > AC_VERB_GET_PIN_SENSE, 0) & 0x80000000; > > Code in alsa (patch-analog.c line 614): > > present = snd_hda_codec_read(codec, 0x1a, 0, AC_VERB_GET_PIN_SENSE, 0); > spec->jack_present = (present & 0x80000000) != 0; > > Seems to have quite different logic, don't it? I don't see your point. It's the same logic: If present has bit 0x80000000, spec->jack_present = 1, Otherwise, spec->jack_present = 0. The problem is that the jack detection of this codec (or specific to the laptop) seems inverse from the standard. > Should be: > > present = snd_hda_codec_read(codec, 0x1a, 0, AC_VERB_GET_PIN_SENSE, 0); > spec->jack_present = (present & 0x80000000) == 0; > > P.S. It's very sad that you've released 1.0.15 with that bug :( Yes, it's sad. Too late recognized. We'll likely have 1.0.15a release soon later, though. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel