summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/sound/isa/mss.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/sound/isa/mss.c b/sys/dev/sound/isa/mss.c
index 5c2596a..78b61c3 100644
--- a/sys/dev/sound/isa/mss.c
+++ b/sys/dev/sound/isa/mss.c
@@ -268,12 +268,16 @@ mss_release_resources(struct mss_info *mss, device_t dev)
mss->irq);
mss->irq = 0;
}
- if (mss->drq2 && mss->drq2 != mss->drq1) {
- bus_release_resource(dev, SYS_RES_DRQ, mss->drq2_rid,
- mss->drq2);
+ if (mss->drq2) {
+ if (mss->drq2 != mss->drq1) {
+ isa_dma_release(rman_get_start(mss->drq2));
+ bus_release_resource(dev, SYS_RES_DRQ, mss->drq2_rid,
+ mss->drq2);
+ }
mss->drq2 = 0;
}
if (mss->drq1) {
+ isa_dma_release(rman_get_start(mss->drq1));
bus_release_resource(dev, SYS_RES_DRQ, mss->drq1_rid,
mss->drq1);
mss->drq1 = 0;
OpenPOWER on IntegriCloud