From 73bd6f4aab031e86adefc4034b36d1f1a5bfb1b2 Mon Sep 17 00:00:00 2001 From: Cameron Grant Date: Mon, 14 Feb 2000 23:37:02 +0000 Subject: [PATCH] fix ess end-of-buffer repeating Submitted by: nhibma Approved by: jkh --- sys/dev/sound/isa/sb.c | 8 ++------ sys/dev/sound/isa/sb16.c | 8 ++------ sys/dev/sound/isa/sb8.c | 8 ++------ 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/sys/dev/sound/isa/sb.c b/sys/dev/sound/isa/sb.c index 93e1815db7f..216198272a3 100644 --- a/sys/dev/sound/isa/sb.c +++ b/sys/dev/sound/isa/sb.c @@ -583,14 +583,10 @@ ess_intr(void *arg) * We are transferring data in DSP normal mode, * so clear the dl to indicate the DMA is stopped. */ - if (sb->pch.buffer->dl > 0) { - sb->pch.buffer->dl = -1; + if (sb->pch.buffer->dl > 0) chn_intr(sb->pch.channel); - } - if (sb->rch.buffer->dl > 0) { - sb->rch.buffer->dl = -1; + if (sb->rch.buffer->dl > 0) chn_intr(sb->rch.channel); - } } static int diff --git a/sys/dev/sound/isa/sb16.c b/sys/dev/sound/isa/sb16.c index 93e1815db7f..216198272a3 100644 --- a/sys/dev/sound/isa/sb16.c +++ b/sys/dev/sound/isa/sb16.c @@ -583,14 +583,10 @@ ess_intr(void *arg) * We are transferring data in DSP normal mode, * so clear the dl to indicate the DMA is stopped. */ - if (sb->pch.buffer->dl > 0) { - sb->pch.buffer->dl = -1; + if (sb->pch.buffer->dl > 0) chn_intr(sb->pch.channel); - } - if (sb->rch.buffer->dl > 0) { - sb->rch.buffer->dl = -1; + if (sb->rch.buffer->dl > 0) chn_intr(sb->rch.channel); - } } static int diff --git a/sys/dev/sound/isa/sb8.c b/sys/dev/sound/isa/sb8.c index 93e1815db7f..216198272a3 100644 --- a/sys/dev/sound/isa/sb8.c +++ b/sys/dev/sound/isa/sb8.c @@ -583,14 +583,10 @@ ess_intr(void *arg) * We are transferring data in DSP normal mode, * so clear the dl to indicate the DMA is stopped. */ - if (sb->pch.buffer->dl > 0) { - sb->pch.buffer->dl = -1; + if (sb->pch.buffer->dl > 0) chn_intr(sb->pch.channel); - } - if (sb->rch.buffer->dl > 0) { - sb->rch.buffer->dl = -1; + if (sb->rch.buffer->dl > 0) chn_intr(sb->rch.channel); - } } static int