summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorJacob Meuser <jakemsr@cvs.openbsd.org>2009-04-25 05:02:41 +0000
committerJacob Meuser <jakemsr@cvs.openbsd.org>2009-04-25 05:02:41 +0000
commita012b11d206ce3a20a589dec59627d9a6dc763c5 (patch)
tree3f8bdc135719e28a05859a7a11d656b9e0f64972 /sys/dev
parent7cd04c6f71f2d1ac42dfd48b74a0b46e730517e2 (diff)
beep generators are input endpoints. but ther are not supposed
to be listed in other widgets' connection lists. if a beep generator is found in another widget's connection list, treat it as a dead end.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/azalia.c7
-rw-r--r--sys/dev/pci/azalia_codec.c3
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/pci/azalia.c b/sys/dev/pci/azalia.c
index 91816be60b9..5baf0daf694 100644
--- a/sys/dev/pci/azalia.c
+++ b/sys/dev/pci/azalia.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: azalia.c,v 1.123 2009/04/24 16:29:49 jakemsr Exp $ */
+/* $OpenBSD: azalia.c,v 1.124 2009/04/25 05:02:40 jakemsr Exp $ */
/* $NetBSD: azalia.c,v 1.20 2006/05/07 08:31:44 kent Exp $ */
/*-
@@ -1649,6 +1649,7 @@ azalia_codec_find_defdac(codec_t *this, int index, int depth)
if (depth > 0 &&
(w->type == COP_AWTYPE_PIN_COMPLEX ||
+ w->type == COP_AWTYPE_BEEP_GENERATOR ||
w->type == COP_AWTYPE_AUDIO_INPUT))
return -1;
if (++depth >= 10)
@@ -1693,6 +1694,7 @@ azalia_codec_find_defadc_sub(codec_t *this, nid_t node, int index, int depth)
/* back at the beginning or a bad end */
if (depth > 0 &&
(w->type == COP_AWTYPE_PIN_COMPLEX ||
+ w->type == COP_AWTYPE_BEEP_GENERATOR ||
w->type == COP_AWTYPE_AUDIO_OUTPUT ||
w->type == COP_AWTYPE_AUDIO_INPUT))
return -1;
@@ -2697,6 +2699,9 @@ azalia_widget_check_conn(codec_t *codec, int index, int depth)
w = &codec->w[index];
+ if (w->type == COP_AWTYPE_BEEP_GENERATOR)
+ return 0;
+
if (depth > 0 &&
(w->type == COP_AWTYPE_PIN_COMPLEX ||
w->type == COP_AWTYPE_AUDIO_OUTPUT ||
diff --git a/sys/dev/pci/azalia_codec.c b/sys/dev/pci/azalia_codec.c
index d89ecb6c449..8239da55324 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.118 2009/04/24 16:30:58 jakemsr Exp $ */
+/* $OpenBSD: azalia_codec.c,v 1.119 2009/04/25 05:02:40 jakemsr Exp $ */
/* $NetBSD: azalia_codec.c,v 1.8 2006/05/10 11:17:27 kent Exp $ */
/*-
@@ -395,6 +395,7 @@ azalia_codec_fnode(codec_t *this, nid_t node, int index, int depth)
/* back at the beginning or a bad end */
if (depth > 0 &&
(w->type == COP_AWTYPE_PIN_COMPLEX ||
+ w->type == COP_AWTYPE_BEEP_GENERATOR ||
w->type == COP_AWTYPE_AUDIO_OUTPUT ||
w->type == COP_AWTYPE_AUDIO_INPUT))
return -1;