diff options
author | Ted Unangst <tedu@cvs.openbsd.org> | 2015-12-17 17:16:05 +0000 |
---|---|---|
committer | Ted Unangst <tedu@cvs.openbsd.org> | 2015-12-17 17:16:05 +0000 |
commit | 669b0af03e15b3cc00306d77579b1d0d3ce2a7c3 (patch) | |
tree | 61c8efddeb7b086aa97da2c57fd7675e5d7b38c5 /sys/arch/amd64 | |
parent | e20a72bd984f169efe4ef771d37cbfe3c5323d38 (diff) |
add a size to free. from Mathieu
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r-- | sys/arch/amd64/amd64/bus_dma.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/arch/amd64/amd64/bus_dma.c b/sys/arch/amd64/amd64/bus_dma.c index b7b7e7f3860..8eaa2e7dba4 100644 --- a/sys/arch/amd64/amd64/bus_dma.c +++ b/sys/arch/amd64/amd64/bus_dma.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bus_dma.c,v 1.48 2015/01/27 05:10:30 dlg Exp $ */ +/* $OpenBSD: bus_dma.c,v 1.49 2015/12/17 17:16:04 tedu Exp $ */ /* $NetBSD: bus_dma.c,v 1.3 2003/05/07 21:33:58 fvdl Exp $ */ /*- @@ -149,8 +149,11 @@ _bus_dmamap_create(bus_dma_tag_t t, bus_size_t size, int nsegments, void _bus_dmamap_destroy(bus_dma_tag_t t, bus_dmamap_t map) { - - free(map, M_DEVBUF, 0); + size_t mapsize; + + mapsize = sizeof(struct bus_dmamap) + + (sizeof(bus_dma_segment_t) * (map->_dm_segcnt - 1)); + free(map, M_DEVBUF, mapsize); } /* |