瀏覽代碼

Merge branch 'fix/hda' into topic/hda

Takashi Iwai 16 年之前
父節點
當前提交
22e336b776
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      sound/pci/hda/patch_sigmatel.c

+ 6 - 1
sound/pci/hda/patch_sigmatel.c

@@ -4084,7 +4084,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);