diff options
author | mdodd <mdodd@FreeBSD.org> | 2005-04-13 17:39:43 +0000 |
---|---|---|
committer | mdodd <mdodd@FreeBSD.org> | 2005-04-13 17:39:43 +0000 |
commit | 85b1360c6c6e0b111609983486100661e724c763 (patch) | |
tree | b4dc0c133e4126a7f0d68063cbf6a2132185207d /sys/dev/ida | |
parent | 064ba2accd4a905f59182d06ebe707b9da9c1c08 (diff) | |
download | FreeBSD-src-85b1360c6c6e0b111609983486100661e724c763.zip FreeBSD-src-85b1360c6c6e0b111609983486100661e724c763.tar.gz |
Test for NULL before use.
Submitted by: sam (Coverity)
Diffstat (limited to 'sys/dev/ida')
-rw-r--r-- | sys/dev/ida/ida.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/sys/dev/ida/ida.c b/sys/dev/ida/ida.c index bfb2c03..cd3a95f 100644 --- a/sys/dev/ida/ida.c +++ b/sys/dev/ida/ida.c @@ -80,21 +80,20 @@ ida_free(struct ida_softc *ida) callout_stop(&ida->ch); - for (i = 0; i < ida->num_qcbs; i++) - bus_dmamap_destroy(ida->buffer_dmat, ida->qcbs[i].dmamap); - - if (ida->hwqcb_busaddr) - bus_dmamap_unload(ida->hwqcb_dmat, ida->hwqcb_dmamap); - - if (ida->hwqcbs) - bus_dmamem_free(ida->hwqcb_dmat, ida->hwqcbs, - ida->hwqcb_dmamap); - - if (ida->buffer_dmat) + if (ida->buffer_dmat) { + for (i = 0; i < ida->num_qcbs; i++) + bus_dmamap_destroy(ida->buffer_dmat, ida->qcbs[i].dmamap); bus_dma_tag_destroy(ida->buffer_dmat); + } - if (ida->hwqcb_dmat) + if (ida->hwqcb_dmat) { + if (ida->hwqcb_busaddr) + bus_dmamap_unload(ida->hwqcb_dmat, ida->hwqcb_dmamap); + if (ida->hwqcbs) + bus_dmamem_free(ida->hwqcb_dmat, ida->hwqcbs, + ida->hwqcb_dmamap); bus_dma_tag_destroy(ida->hwqcb_dmat); + } if (ida->qcbs != NULL) free(ida->qcbs, M_DEVBUF); |