aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/sound/pcm/buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sound/pcm/buffer.c')
-rw-r--r--sys/dev/sound/pcm/buffer.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/sound/pcm/buffer.c b/sys/dev/sound/pcm/buffer.c
index 5ce32af10541..1cf26d0cb5dc 100644
--- a/sys/dev/sound/pcm/buffer.c
+++ b/sys/dev/sound/pcm/buffer.c
@@ -78,16 +78,18 @@ sndbuf_setmap(void *arg, bus_dma_segment_t *segs, int nseg, int error)
*/
int
-sndbuf_alloc(struct snd_dbuf *b, bus_dma_tag_t dmatag, unsigned int size)
+sndbuf_alloc(struct snd_dbuf *b, bus_dma_tag_t dmatag, int dmaflags,
+ unsigned int size)
{
int ret;
b->dmatag = dmatag;
+ b->dmaflags = dmaflags | BUS_DMA_NOWAIT;
b->maxsize = size;
b->bufsize = b->maxsize;
b->buf_addr = 0;
b->flags |= SNDBUF_F_MANAGED;
- if (bus_dmamem_alloc(b->dmatag, (void **)&b->buf, BUS_DMA_NOWAIT,
+ if (bus_dmamem_alloc(b->dmatag, (void **)&b->buf, b->dmaflags,
&b->dmamap)) {
sndbuf_free(b);
return (ENOMEM);