[alsa-devel] [PATCH] ALSA: hda/via - don't report presence on HPs with no presence support

Takashi Iwai tiwai at suse.de
Sat Sep 22 09:26:22 CEST 2012


At Fri, 21 Sep 2012 20:45:19 -0300,
Herton Ronaldo Krzesinski wrote:
> 
> If headphone jack can't detect plug presence, and we have the jack in
> the jack table, snd_hda_jack_detect will return the plug as always
> present (as it'll be considered as a phantom jack). The problem is that
> when this happens, line out pins will always be disabled, resulting in
> no sound if there are no headphones connected.
> 
> This was reported as a no sound problem after suspend on
> http://bugs.launchpad.net/bugs/1052499, since the bug doesn't manifests
> on first initialization before the phantom jack is added, but on resume
> we reexecute the initialization code, and via_hp_automute starts
> reporting HP always present with the jack now on the table.
> 
> BugLink: https://bugs.launchpad.net/bugs/1052499
> Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski at canonical.com>

Thanks, applied now.


Takashi

> ---
>  sound/pci/hda/patch_via.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
> index ea28667..64b1257 100644
> --- a/sound/pci/hda/patch_via.c
> +++ b/sound/pci/hda/patch_via.c
> @@ -1672,7 +1672,8 @@ static void via_hp_automute(struct hda_codec *codec)
>  	struct via_spec *spec = codec->spec;
>  
>  	if (!spec->hp_independent_mode && spec->autocfg.hp_pins[0] &&
> -	    (spec->codec_type != VT1708 || spec->vt1708_jack_detect))
> +	    (spec->codec_type != VT1708 || spec->vt1708_jack_detect) &&
> +	    is_jack_detectable(codec, spec->autocfg.hp_pins[0]))
>  		present = snd_hda_jack_detect(codec, spec->autocfg.hp_pins[0]);
>  
>  	if (spec->smart51_enabled)
> -- 
> 1.7.9.5
> 


More information about the Alsa-devel mailing list