summaryrefslogtreecommitdiffstats
path: root/sys/dev/hifn
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2014-06-10 20:25:45 +0000
committerjhb <jhb@FreeBSD.org>2014-06-10 20:25:45 +0000
commit02e632b71287ac53801c62c26a1c00926fca8e2d (patch)
treefce070802b2d12919f979d51576d5aad6077a6c2 /sys/dev/hifn
parente250a91c1da4cfd9eb0dab8e0aac2bc6fc7a8176 (diff)
downloadFreeBSD-src-02e632b71287ac53801c62c26a1c00926fca8e2d.zip
FreeBSD-src-02e632b71287ac53801c62c26a1c00926fca8e2d.tar.gz
Don't destroy bus_dma maps created by bus_dmamem_alloc(). In some cases,
don't create a map before calling bus_dmamem_alloc() (such maps were leaked). It is believed that the extra destroy of the map was generally harmless since bus_dmamem_alloc() often uses special maps for which bus_dmamap_destroy() is a no-op (e.g. on x86). Reviewed by: scottl
Diffstat (limited to 'sys/dev/hifn')
-rw-r--r--sys/dev/hifn/hifn7751.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/sys/dev/hifn/hifn7751.c b/sys/dev/hifn/hifn7751.c
index 8954242..e9d47a1 100644
--- a/sys/dev/hifn/hifn7751.c
+++ b/sys/dev/hifn/hifn7751.c
@@ -463,7 +463,6 @@ hifn_attach(device_t dev)
BUS_DMA_NOWAIT)) {
device_printf(dev, "cannot load dma map\n");
bus_dmamem_free(sc->sc_dmat, kva, sc->sc_dmamap);
- bus_dmamap_destroy(sc->sc_dmat, sc->sc_dmamap);
bus_dma_tag_destroy(sc->sc_dmat);
goto fail_io1;
}
@@ -603,7 +602,6 @@ fail_intr2:
fail_mem:
bus_dmamap_unload(sc->sc_dmat, sc->sc_dmamap);
bus_dmamem_free(sc->sc_dmat, sc->sc_dma, sc->sc_dmamap);
- bus_dmamap_destroy(sc->sc_dmat, sc->sc_dmamap);
bus_dma_tag_destroy(sc->sc_dmat);
/* Turn off DMA polling */
@@ -653,7 +651,6 @@ hifn_detach(device_t dev)
bus_dmamap_unload(sc->sc_dmat, sc->sc_dmamap);
bus_dmamem_free(sc->sc_dmat, sc->sc_dma, sc->sc_dmamap);
- bus_dmamap_destroy(sc->sc_dmat, sc->sc_dmamap);
bus_dma_tag_destroy(sc->sc_dmat);
bus_release_resource(dev, SYS_RES_MEMORY, HIFN_BAR1, sc->sc_bar1res);
OpenPOWER on IntegriCloud