diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2014-07-01 18:24:54 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2014-07-01 18:24:54 +0000 |
| commit | 30a13db0c5109550a85e8a7e19d0d886748739cb (patch) | |
| tree | b8bec4c3a9e71c9b6e1b325dca7296977f7f87e9 /sys/dev/tws | |
| parent | 81a99d38e92b6fd4db17847ef5a020c01de60e2a (diff) | |
Notes
Diffstat (limited to 'sys/dev/tws')
| -rw-r--r-- | sys/dev/tws/tws.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/dev/tws/tws.c b/sys/dev/tws/tws.c index 6ebde75744484..11013cbc2b552 100644 --- a/sys/dev/tws/tws.c +++ b/sys/dev/tws/tws.c @@ -310,6 +310,12 @@ tws_attach(device_t dev) attach_fail_4: tws_teardown_intr(sc); destroy_dev(sc->tws_cdev); + if (sc->dma_mem_phys) + bus_dmamap_unload(sc->cmd_tag, sc->cmd_map); + if (sc->dma_mem) + bus_dmamem_free(sc->cmd_tag, sc->dma_mem, sc->cmd_map); + if (sc->cmd_tag) + bus_dma_tag_destroy(sc->cmd_tag); attach_fail_3: for(i=0;i<sc->irqs;i++) { if ( sc->irq_res[i] ){ @@ -383,6 +389,13 @@ tws_detach(device_t dev) tws_cam_detach(sc); + if (sc->dma_mem_phys) + bus_dmamap_unload(sc->cmd_tag, sc->cmd_map); + if (sc->dma_mem) + bus_dmamem_free(sc->cmd_tag, sc->dma_mem, sc->cmd_map); + if (sc->cmd_tag) + bus_dma_tag_destroy(sc->cmd_tag); + /* Release memory resource */ if ( sc->mfa_res ){ if (bus_release_resource(sc->tws_dev, |
