[Gta04-owner] Jack bouncing: bugfix.

Denis 'GNUtoo' Carikli GNUtoo at no-log.org
Thu Dec 27 20:26:05 CET 2012


On Wed, 26 Dec 2012 07:01:18 +1100
NeilBrown <neilb at suse.de> wrote:

> On Tue, 25 Dec 2012 11:28:08 +0100 Denis 'GNUtoo' Carikli
> <GNUtoo at no-log.org> wrote:
> 
> > Hi,
> > 
> > Here:
> > http://git.neil.brown.name/git?p=gta04.git;a=blob;f=sound/soc/omap/gta04-audio.c;h=804bce9745eeddba5b0d1f238ea46d2b4b197fd1;hb=refs/heads/3.5-gta04#l176
> > The value of twl4030_get_madc_conversion(7) could be negative(in
> > case of errors, which do happen), which would made the driver
> > report that there is no jack plugged in, instead of not reporting
> > anything.
> > 
> > I've already fixed it in my GTA04 3.4 SHR tree.
> > 
> > The jack detection still bounce during the beginning of calls with
> > that fix, but it may bounce less.
> > 
> > Denis.
> 
> Thanks for the report - but ENOPATCH :-)
> 
> Is this what you had in mind?
> 
> NeilBrown
> 
> diff --git a/sound/soc/omap/gta04-audio.c
> b/sound/soc/omap/gta04-audio.c index f49877c..31c4e34 100644
> --- a/sound/soc/omap/gta04-audio.c
> +++ b/sound/soc/omap/gta04-audio.c
> @@ -167,6 +167,8 @@ static void gta04_audio_jack_work(struct
> work_struct *work) delay = msecs_to_jiffies(50);
>  
>  	val = twl4030_get_madc_conversion(7);
> +	if (val < 0)
> +		got out;
>  	/* On my device:
>  	 * open circuit = around 20
>  	 * short circuit = around 800
> @@ -199,6 +201,7 @@ static void gta04_audio_jack_work(struct
> work_struct *work) snd_soc_jack_report(&jack.hs_jack, jackbits,
>  			    SND_JACK_HEADSET | SND_JACK_BTN_0);
>  
> +out:
>  	if (jack.open)
>  		schedule_delayed_work(&jack.jack_work, delay);
>  }
yes something like that.

Denis.


More information about the Gta04-owner mailing list