summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/sound/pcm/vchan.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/sound/pcm/vchan.c b/sys/dev/sound/pcm/vchan.c
index 7edbf7171844..2f8ce6883c2c 100644
--- a/sys/dev/sound/pcm/vchan.c
+++ b/sys/dev/sound/pcm/vchan.c
@@ -440,8 +440,15 @@ vchan_create(struct pcm_channel *parent)
device_get_unit(parent->dev),
"vchanrate", &speed);
CHN_LOCK(parent);
- if (r != 0)
+ if (r != 0) {
speed = VCHAN_DEFAULT_SPEED;
+ /*
+ * Workaround for sb16 running
+ * poorly at 45k.
+ */
+ if (speed > parent_caps->maxspeed)
+ speed = 44100;
+ }
}
/*