Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8317e0b0 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: hda - Don't reset HP pinctl in patch_sigmatel.c



Resetting HP pinctl at the unplugged state may cause a sort of regression
on some devices because of their wrong pin configuration.

A simple workaround is to disable the pin reset.  This is ugly and may be
not good from the power-saving POV (if any), but damn simple.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
parent c15c5060
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -4225,8 +4225,19 @@ static void stac92xx_hp_detect(struct hda_codec *codec)
			continue;
		if (presence)
			stac92xx_set_pinctl(codec, cfg->hp_pins[i], val);
#if 0 /* FIXME */
/* Resetting the pinctl like below may lead to (a sort of) regressions
 * on some devices since they use the HP pin actually for line/speaker
 * outs although the default pin config shows a different pin (that is
 * wrong and useless).
 *
 * So, it's basically a problem of default pin configs, likely a BIOS issue.
 * But, disabling the code below just works around it, and I'm too tired of
 * bug reports with such devices... 
 */
		else
			stac92xx_reset_pinctl(codec, cfg->hp_pins[i], val);
#endif /* FIXME */
	}
}