aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2014-06-11 20:44:02 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2014-06-11 20:44:02 +0000
commitaeeb653ce06387659c444addfb52e6dc33bd38f1 (patch)
treead58d311fa8e007d99771c48ba98309561e61737 /sys
parent91342c6607a7c35b5efde10305be1c6427806a0b (diff)
downloadsrc-aeeb653ce06387659c444addfb52e6dc33bd38f1.tar.gz
src-aeeb653ce06387659c444addfb52e6dc33bd38f1.zip
Unload maps for DMA buffers allocated via bus_dmamem_alloc() before
freeing the buffers. Reviewed by: davidcs
Notes
Notes: svn path=/head/; revision=267375
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/qlxgb/qla_os.c1
-rw-r--r--sys/dev/qlxgbe/ql_os.c1
-rw-r--r--sys/dev/qlxge/qls_os.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/qlxgb/qla_os.c b/sys/dev/qlxgb/qla_os.c
index 266130826c52..4011ca65121d 100644
--- a/sys/dev/qlxgb/qla_os.c
+++ b/sys/dev/qlxgb/qla_os.c
@@ -602,6 +602,7 @@ qla_alloc_dmabuf_exit:
void
qla_free_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf)
{
+ bus_dmamap_unload(dma_buf->dma_tag, dma_buf->dma_map);
bus_dmamem_free(dma_buf->dma_tag, dma_buf->dma_b, dma_buf->dma_map);
bus_dma_tag_destroy(dma_buf->dma_tag);
}
diff --git a/sys/dev/qlxgbe/ql_os.c b/sys/dev/qlxgbe/ql_os.c
index e62f6033d571..7e77a911c0cf 100644
--- a/sys/dev/qlxgbe/ql_os.c
+++ b/sys/dev/qlxgbe/ql_os.c
@@ -681,6 +681,7 @@ ql_alloc_dmabuf_exit:
void
ql_free_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf)
{
+ bus_dmamap_unload(dma_buf->dma_tag, dma_buf->dma_map);
bus_dmamem_free(dma_buf->dma_tag, dma_buf->dma_b, dma_buf->dma_map);
bus_dma_tag_destroy(dma_buf->dma_tag);
}
diff --git a/sys/dev/qlxge/qls_os.c b/sys/dev/qlxge/qls_os.c
index ae1378be6346..dd40d812b4b0 100644
--- a/sys/dev/qlxge/qls_os.c
+++ b/sys/dev/qlxge/qls_os.c
@@ -670,6 +670,7 @@ qls_alloc_dmabuf_exit:
void
qls_free_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf)
{
+ bus_dmamap_unload(dma_buf->dma_tag, dma_buf->dma_map);
bus_dmamem_free(dma_buf->dma_tag, dma_buf->dma_b, dma_buf->dma_map);
bus_dma_tag_destroy(dma_buf->dma_tag);
}