diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-01-14 01:56:51 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-01-14 02:00:49 -0500 |
commit | 8317e0b0c2234f5f1f5d54804e4093d11bc0dffa (patch) | |
tree | 139d3bd041b39a77a100a41b56ae4be62332f8c2 /sound/pci/hda | |
parent | c15c5060fc32d7de7cde76aa61e98bae1334d82e (diff) |
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: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
Diffstat (limited to 'sound/pci/hda')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 77fcc312a1f4..103ac6d743ef 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -4225,8 +4225,19 @@ static void stac92xx_hp_detect(struct hda_codec *codec) | |||
4225 | continue; | 4225 | continue; |
4226 | if (presence) | 4226 | if (presence) |
4227 | stac92xx_set_pinctl(codec, cfg->hp_pins[i], val); | 4227 | stac92xx_set_pinctl(codec, cfg->hp_pins[i], val); |
4228 | #if 0 /* FIXME */ | ||
4229 | /* Resetting the pinctl like below may lead to (a sort of) regressions | ||
4230 | * on some devices since they use the HP pin actually for line/speaker | ||
4231 | * outs although the default pin config shows a different pin (that is | ||
4232 | * wrong and useless). | ||
4233 | * | ||
4234 | * So, it's basically a problem of default pin configs, likely a BIOS issue. | ||
4235 | * But, disabling the code below just works around it, and I'm too tired of | ||
4236 | * bug reports with such devices... | ||
4237 | */ | ||
4228 | else | 4238 | else |
4229 | stac92xx_reset_pinctl(codec, cfg->hp_pins[i], val); | 4239 | stac92xx_reset_pinctl(codec, cfg->hp_pins[i], val); |
4240 | #endif /* FIXME */ | ||
4230 | } | 4241 | } |
4231 | } | 4242 | } |
4232 | 4243 | ||