diff options
author | cg <cg@FreeBSD.org> | 2001-06-14 13:31:30 +0000 |
---|---|---|
committer | cg <cg@FreeBSD.org> | 2001-06-14 13:31:30 +0000 |
commit | 2ec7f0d19f7d1d4e02ec98b605a460f015c9f6b5 (patch) | |
tree | 9f09ca16ead4ae8551bd8e8a2b22dfd4bc4becc8 /sys/dev/sound/pcm/channel.c | |
parent | 089e07ab6ac0a4433ae32cbdb9e4c1b4936995a6 (diff) | |
download | FreeBSD-src-2ec7f0d19f7d1d4e02ec98b605a460f015c9f6b5.zip FreeBSD-src-2ec7f0d19f7d1d4e02ec98b605a460f015c9f6b5.tar.gz |
various locking fixes, rework open logic and channel registration
PR: kern/28084
Diffstat (limited to 'sys/dev/sound/pcm/channel.c')
-rw-r--r-- | sys/dev/sound/pcm/channel.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index 72f2852..b3cfbe4 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -490,7 +490,7 @@ chn_poll(struct pcm_channel *c, int ev, struct proc *p) struct snd_dbuf *bs = c->bufsoft; int ret; - CHN_LOCK(c); + CHN_LOCKASSERT(c); if (!(c->flags & CHN_F_MAPPED) && !(c->flags & CHN_F_TRIGGERED)) chn_start(c, 1); ret = 0; @@ -498,7 +498,6 @@ chn_poll(struct pcm_channel *c, int ev, struct proc *p) ret = ev; else selrecord(p, sndbuf_getsel(bs)); - CHN_UNLOCK(c); return ret; } |