aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/sound/pcm/channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sound/pcm/channel.c')
-rw-r--r--sys/dev/sound/pcm/channel.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c
index e92181d74e19..7c3f0e3dc9f0 100644
--- a/sys/dev/sound/pcm/channel.c
+++ b/sys/dev/sound/pcm/channel.c
@@ -228,19 +228,21 @@ chn_lockinit(struct pcm_channel *c, int dir)
{
switch (dir) {
case PCMDIR_PLAY:
- c->lock = snd_mtxcreate(c->name, "pcm play channel");
+ mtx_init(&c->lock, c->name, "pcm play channel", MTX_DEF);
cv_init(&c->intr_cv, "pcmwr");
break;
case PCMDIR_PLAY_VIRTUAL:
- c->lock = snd_mtxcreate(c->name, "pcm virtual play channel");
+ mtx_init(&c->lock, c->name, "pcm virtual play channel",
+ MTX_DEF);
cv_init(&c->intr_cv, "pcmwrv");
break;
case PCMDIR_REC:
- c->lock = snd_mtxcreate(c->name, "pcm record channel");
+ mtx_init(&c->lock, c->name, "pcm record channel", MTX_DEF);
cv_init(&c->intr_cv, "pcmrd");
break;
case PCMDIR_REC_VIRTUAL:
- c->lock = snd_mtxcreate(c->name, "pcm virtual record channel");
+ mtx_init(&c->lock, c->name, "pcm virtual record channel",
+ MTX_DEF);
cv_init(&c->intr_cv, "pcmrdv");
break;
default:
@@ -262,7 +264,7 @@ chn_lockdestroy(struct pcm_channel *c)
cv_destroy(&c->cv);
cv_destroy(&c->intr_cv);
- snd_mtxfree(c->lock);
+ mtx_destroy(&c->lock);
}
/**
@@ -337,7 +339,7 @@ chn_sleep(struct pcm_channel *c, int timeout)
return (EINVAL);
c->sleeping++;
- ret = cv_timedwait_sig(&c->intr_cv, c->lock, timeout);
+ ret = cv_timedwait_sig(&c->intr_cv, &c->lock, timeout);
c->sleeping--;
return ((c->flags & CHN_F_DEAD) ? EINVAL : ret);
@@ -1251,7 +1253,7 @@ chn_init(struct snddev_info *d, struct pcm_channel *parent, kobj_class_t cls,
}
c->bufhard = b;
c->bufsoft = bs;
- knlist_init_mtx(&bs->sel.si_note, c->lock);
+ knlist_init_mtx(&bs->sel.si_note, &c->lock);
c->devinfo = CHANNEL_INIT(c->methods, devinfo, b, c, direction);
if (c->devinfo == NULL) {