ALSA: hda/realtek - Fix the initialization of pin amp-in

The pin widget has only a single amp value for the input even if it
has multiple "sources".  Handle the situation in activate_path().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 76c6740..b6b929e 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -3921,21 +3921,27 @@
 {
 	struct alc_spec *spec = codec->spec;
 	hda_nid_t conn[16];
-	int n, nums;
+	int n, nums, idx;
 	hda_nid_t nid = path->path[i];
 
 	nums = snd_hda_get_connections(codec, nid, conn, ARRAY_SIZE(conn));
+	if (get_wcaps_type(get_wcaps(codec, nid)) == AC_WID_PIN) {
+		nums = 1;
+		idx = 0;
+	} else
+		idx = path->idx[i];
+
 	for (n = 0; n < nums; n++)
 		init_amp(codec, nid, HDA_INPUT, n);
 
-	if (is_ctl_associated(codec, nid, HDA_INPUT, path->idx[i]))
+	if (is_ctl_associated(codec, nid, HDA_INPUT, idx))
 		return;
 
 	/* here is a little bit tricky in comparison with activate_amp_out();
 	 * when aa-mixer is available, we need to enable the path as well
 	 */
 	for (n = 0; n < nums; n++) {
-		if (n != path->idx[i] && conn[n] != spec->mixer_nid)
+		if (n != idx && conn[n] != spec->mixer_nid)
 			continue;
 		activate_amp(codec, nid, HDA_INPUT, n, enable);
 	}