diff options
-rw-r--r-- | sys/dev/sound/isa/sb16.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/sound/isa/sb16.c b/sys/dev/sound/isa/sb16.c index ce69b54..a7e5580 100644 --- a/sys/dev/sound/isa/sb16.c +++ b/sys/dev/sound/isa/sb16.c @@ -370,11 +370,13 @@ sb16_release_resources(struct sb_info *sb, device_t dev) bus_release_resource(dev, SYS_RES_IRQ, 0, sb->irq); sb->irq = 0; } - if (sb->drq2 && (sb->drq2 != sb->drq2)) { + if (sb->drq2 && (sb->drq2 != sb->drq1)) { + isa_dma_release(rman_get_start(sb->drq2)); bus_release_resource(dev, SYS_RES_DRQ, 1, sb->drq2); sb->drq2 = 0; } if (sb->drq1) { + isa_dma_release(rman_get_start(sb->drq1)); bus_release_resource(dev, SYS_RES_DRQ, 0, sb->drq1); sb->drq1 = 0; } |