diff options
author | cg <cg@FreeBSD.org> | 2000-01-05 04:01:34 +0000 |
---|---|---|
committer | cg <cg@FreeBSD.org> | 2000-01-05 04:01:34 +0000 |
commit | 5cf59636dd5db7470e709027a977269a8b1d2213 (patch) | |
tree | 8b33805d604ab163e5bfb420f3de739f8964e558 /sys/dev/sound/isa/sb16.c | |
parent | 0710fece79cda2b25b170e7eee3b31964f09aa13 (diff) | |
download | FreeBSD-src-5cf59636dd5db7470e709027a977269a8b1d2213.zip FreeBSD-src-5cf59636dd5db7470e709027a977269a8b1d2213.tar.gz |
argh, forgot the bus_dma_tag_creates.
also, panic if channel init fails instead of derefing null.
Diffstat (limited to 'sys/dev/sound/isa/sb16.c')
-rw-r--r-- | sys/dev/sound/isa/sb16.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/sound/isa/sb16.c b/sys/dev/sound/isa/sb16.c index 1b501a40..b5142d9 100644 --- a/sys/dev/sound/isa/sb16.c +++ b/sys/dev/sound/isa/sb16.c @@ -464,6 +464,7 @@ sb_doattach(device_t dev, struct sb_info *sb) snddev_info *d = device_get_softc(dev); void *ih; char status[SND_STATUSLEN]; + int bs = (sb->bd_flags & BD_F_ESS)? ESS_BUFFSIZE : DSP_BUFFSIZE; if (sb_alloc_resources(sb, dev)) goto no; if (sb_reset_dsp(sb)) goto no; @@ -482,7 +483,7 @@ sb_doattach(device_t dev, struct sb_info *sb) /*lowaddr*/BUS_SPACE_MAXADDR_24BIT, /*highaddr*/BUS_SPACE_MAXADDR, /*filter*/NULL, /*filterarg*/NULL, - /*maxsize*/DSP_BUFFSIZE, /*nsegments*/1, + /*maxsize*/bs, /*nsegments*/1, /*maxsegz*/0x3ffff, /*flags*/0, &sb->parent_dmat) != 0) { device_printf(dev, "unable to create dma tag\n"); |