Re: 1.0.15rc3 patch_analog.s bug + fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux