aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-05-10 10:47:07 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-05-10 10:47:07 -0700
commitd5f7badb5687aa14adaf1bd945b7f4605b6d8264 (patch)
tree28a9d01bfb15f1c44627c230aa2a65912c6f53a1 /sound/pci/hda/patch_sigmatel.c
parent2c487bbb0ad4d523c9000857f9cc093e1b38504d (diff)
parentbbb2b6829d2afa4cfc58f7c321b2c3aaa7f4835e (diff)
downloadmrst-s0i3-test-d5f7badb5687aa14adaf1bd945b7f4605b6d8264.tar.gz
mrst-s0i3-test-d5f7badb5687aa14adaf1bd945b7f4605b6d8264.tar.xz
mrst-s0i3-test-d5f7badb5687aa14adaf1bd945b7f4605b6d8264.zip
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix line-in on Mac Mini Core2 Duo ALSA: Release v1.0.20 sound: via82xx: fix DXS volume range sound: serial-u16550: fix buffer overflow ASoC: Fix errors in WM8990
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r--sound/pci/hda/patch_sigmatel.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 917bc5d3ac2..03b3646018a 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -4079,7 +4079,12 @@ static int stac92xx_init(struct hda_codec *codec)
pinctl = snd_hda_codec_read(codec, nid, 0,
AC_VERB_GET_PIN_WIDGET_CONTROL, 0);
/* if PINCTL already set then skip */
- if (!(pinctl & AC_PINCTL_IN_EN)) {
+ /* Also, if both INPUT and OUTPUT are set,
+ * it must be a BIOS bug; need to override, too
+ */
+ if (!(pinctl & AC_PINCTL_IN_EN) ||
+ (pinctl & AC_PINCTL_OUT_EN)) {
+ pinctl &= ~AC_PINCTL_OUT_EN;
pinctl |= AC_PINCTL_IN_EN;
stac92xx_auto_set_pinctl(codec, nid,
pinctl);