summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjakemsr <jakemsr@openbsd.org>2008-11-30 04:01:53 +0000
committerjakemsr <jakemsr@openbsd.org>2008-11-30 04:01:53 +0000
commit1ffa95f1c785fc4c32381443e09de8d92f97a429 (patch)
treea2892546bd83c44caa3696804b8a7c67e6c5efa9
parent- don't access nonexistent converter goups (diff)
downloadwireguard-openbsd-1ffa95f1c785fc4c32381443e09de8d92f97a429.tar.xz
wireguard-openbsd-1ffa95f1c785fc4c32381443e09de8d92f97a429.zip
don't rebuild the list of supported formats if it isn't going
to change.
-rw-r--r--sys/dev/pci/azalia_codec.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/sys/dev/pci/azalia_codec.c b/sys/dev/pci/azalia_codec.c
index 3de3d109700..c1561c9ae88 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.76 2008/11/30 03:50:29 jakemsr Exp $ */
+/* $OpenBSD: azalia_codec.c,v 1.77 2008/11/30 04:01:53 jakemsr Exp $ */
/* $NetBSD: azalia_codec.c,v 1.8 2006/05/10 11:17:27 kent Exp $ */
/*-
@@ -1535,8 +1535,11 @@ azalia_generic_mixer_set(codec_t *this, nid_t nid, int target,
return EBUSY;
if (mc->un.ord >= this->dacs.ngroups)
return EINVAL;
- return azalia_codec_construct_format(this,
- mc->un.ord, this->adcs.cur);
+ if (mc->un.ord != this->dacs.cur)
+ return azalia_codec_construct_format(this,
+ mc->un.ord, this->adcs.cur);
+ else
+ return 0;
}
/* ADC selection */
@@ -1545,8 +1548,11 @@ azalia_generic_mixer_set(codec_t *this, nid_t nid, int target,
return EBUSY;
if (mc->un.ord >= this->adcs.ngroups)
return EINVAL;
- return azalia_codec_construct_format(this,
- this->dacs.cur, mc->un.ord);
+ if (mc->un.ord != this->adcs.cur)
+ return azalia_codec_construct_format(this,
+ this->dacs.cur, mc->un.ord);
+ else
+ return 0;
}
/* Volume knob */