summaryrefslogtreecommitdiff
path: root/sys/dev/pci/azalia_codec.c
diff options
context:
space:
mode:
authorJacob Meuser <jakemsr@cvs.openbsd.org>2009-01-04 22:45:25 +0000
committerJacob Meuser <jakemsr@cvs.openbsd.org>2009-01-04 22:45:25 +0000
commit4c427e45d31ae1fb5d74de491a3290fae13af9d4 (patch)
treecef5310dae86ba7d194052f2baa3d4e57c1c786b /sys/dev/pci/azalia_codec.c
parent92102d1d1b05d500457859fe5b0485fe1cc7868d (diff)
some mixers don't use input amp muting to "select" their sources.
instead they use the connection list setting like selectors do. this is somewhat common in Analog Devices codecs. it's extremely rare in all other codecs.
Diffstat (limited to 'sys/dev/pci/azalia_codec.c')
-rw-r--r--sys/dev/pci/azalia_codec.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/pci/azalia_codec.c b/sys/dev/pci/azalia_codec.c
index 22c38ce6633..7982a20d600 100644
--- a/sys/dev/pci/azalia_codec.c
+++ b/sys/dev/pci/azalia_codec.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: azalia_codec.c,v 1.107 2009/01/03 19:17:45 jakemsr Exp $ */
+/* $OpenBSD: azalia_codec.c,v 1.108 2009/01/04 22:45:24 jakemsr Exp $ */
/* $NetBSD: azalia_codec.c,v 1.8 2006/05/10 11:17:27 kent Exp $ */
/*-
@@ -581,7 +581,9 @@ azalia_generic_mixer_init(codec_t *this)
continue;
/* selector */
- if (w->type != COP_AWTYPE_AUDIO_MIXER && w->nconnections > 0 &&
+ if (w->nconnections > 0 &&
+ !(w->type == COP_AWTYPE_AUDIO_MIXER &&
+ (w->widgetcap & COP_AWCAP_INAMP)) &&
!(w->nconnections == 1 &&
azalia_widget_enabled(this, w->connections[0]) &&
strcmp(w->name, this->w[w->connections[0]].name) == 0) &&