浏览代码

ALSA: hda - Fix multi-headphone handling for Realtek codecs

When multiple headphone pins are defined without line-out pins, the
driver takes them as primary outputs.  But it forgot to set line_out_type
to HP by assuming there is some rest of HP pins.  This results in some
mis-handling of these pins for Realtek codec parser.  It takes as if
these are pure line-out jacks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: <stable@kernel.org>
Takashi Iwai 14 年之前
父节点
当前提交
b2d0576055
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      sound/pci/hda/hda_codec.c

+ 3 - 0
sound/pci/hda/hda_codec.c

@@ -4571,6 +4571,9 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec,
 		}
 		}
 		memset(cfg->hp_pins + cfg->hp_outs, 0,
 		memset(cfg->hp_pins + cfg->hp_outs, 0,
 		       sizeof(hda_nid_t) * (AUTO_CFG_MAX_OUTS - cfg->hp_outs));
 		       sizeof(hda_nid_t) * (AUTO_CFG_MAX_OUTS - cfg->hp_outs));
+		if (!cfg->hp_outs)
+			cfg->line_out_type = AUTO_PIN_HP_OUT;
+
 	}
 	}
 
 
 	/* sort by sequence */
 	/* sort by sequence */