Free the static DMA buffer holding the command ring during detach as well
as if attach fails.
This commit is contained in:
parent
dc6db53254
commit
b8f0dfb4b7
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user