summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/isa/sb8.c
diff options
context:
space:
mode:
authorcg <cg@FreeBSD.org>2000-01-05 00:39:20 +0000
committercg <cg@FreeBSD.org>2000-01-05 00:39:20 +0000
commit33c444231e26dc615f79c2cd23beecbeb4aad505 (patch)
treee361611a4e50b0164417670ee7b9b7f2031405a8 /sys/dev/sound/isa/sb8.c
parent42026f70c270b564f3855d44f7a6bc01c797bd1c (diff)
downloadFreeBSD-src-33c444231e26dc615f79c2cd23beecbeb4aad505.zip
FreeBSD-src-33c444231e26dc615f79c2cd23beecbeb4aad505.tar.gz
allocate isa bounce buffers of the right size for ess/mss cards, fixes
panics reported
Diffstat (limited to 'sys/dev/sound/isa/sb8.c')
-rw-r--r--sys/dev/sound/isa/sb8.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/sound/isa/sb8.c b/sys/dev/sound/isa/sb8.c
index 12aced9..1b501a40 100644
--- a/sys/dev/sound/isa/sb8.c
+++ b/sys/dev/sound/isa/sb8.c
@@ -418,12 +418,14 @@ sb_alloc_resources(struct sb_info *sb, device_t dev)
RF_ACTIVE);
if (sb->io_base && sb->drq1 && sb->irq) {
+ int bs = (sb->bd_flags & BD_F_ESS)? ESS_BUFFSIZE : DSP_BUFFSIZE;
+
isa_dma_acquire(rman_get_start(sb->drq1));
- isa_dmainit(rman_get_start(sb->drq1), DSP_BUFFSIZE);
+ isa_dmainit(rman_get_start(sb->drq1), bs);
if (sb->drq2) {
isa_dma_acquire(rman_get_start(sb->drq2));
- isa_dmainit(rman_get_start(sb->drq2), DSP_BUFFSIZE);
+ isa_dmainit(rman_get_start(sb->drq2), bs);
}
return 0;
OpenPOWER on IntegriCloud