summaryrefslogtreecommitdiff
path: root/sound/pci/hda/hda_codec.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-09-20 11:14:04 +0400
committerTakashi Iwai <tiwai@suse.de>2011-09-20 11:14:04 +0400
commit290b421f699463478d215c17cd6be52d78e16976 (patch)
tree27a2a4555feed1adc9b0ada4e746b13298f3ce67 /sound/pci/hda/hda_codec.c
parent356aab7d419822f413af5fe1bc47af40957a23fb (diff)
parent46724c2e023cb7ba5cd5000dee6481f0a15ebed9 (diff)
downloadlinux-290b421f699463478d215c17cd6be52d78e16976.tar.xz
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
-rw-r--r--sound/pci/hda/hda_codec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 5a8ecdebf37d..6b611d50d03f 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -586,9 +586,13 @@ int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux,
return -1;
}
recursive++;
- for (i = 0; i < nums; i++)
+ for (i = 0; i < nums; i++) {
+ unsigned int type = get_wcaps_type(get_wcaps(codec, conn[i]));
+ if (type == AC_WID_PIN || type == AC_WID_AUD_OUT)
+ continue;
if (snd_hda_get_conn_index(codec, conn[i], nid, recursive) >= 0)
return i;
+ }
return -1;
}
EXPORT_SYMBOL_HDA(snd_hda_get_conn_index);