From 8e469b97783c14679448b8ed428d169b234b5108 Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Sun, 7 Oct 2012 12:40:57 +0800 Subject: [PATCH] busdma: Utilize kmalloc_powerof2() --- sys/platform/pc32/i386/busdma_machdep.c | 7 +------ sys/platform/pc64/x86_64/busdma_machdep.c | 7 +------ 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/sys/platform/pc32/i386/busdma_machdep.c b/sys/platform/pc32/i386/busdma_machdep.c index a8cff4e..35be77b 100644 --- a/sys/platform/pc32/i386/busdma_machdep.c +++ b/sys/platform/pc32/i386/busdma_machdep.c @@ -573,13 +573,8 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void **vaddr, int flags, */ maxsize = check_kmalloc(dmat, *vaddr, 0); if (maxsize) { - size_t size; - kfree(*vaddr, M_DEVBUF); - /* XXX check for overflow? */ - for (size = 1; size <= maxsize; size <<= 1) - ; - *vaddr = kmalloc(size, M_DEVBUF, mflags); + *vaddr = kmalloc_powerof2(maxsize, M_DEVBUF, mflags); check_kmalloc(dmat, *vaddr, 1); } } else { diff --git a/sys/platform/pc64/x86_64/busdma_machdep.c b/sys/platform/pc64/x86_64/busdma_machdep.c index b94f358..151f9bf 100644 --- a/sys/platform/pc64/x86_64/busdma_machdep.c +++ b/sys/platform/pc64/x86_64/busdma_machdep.c @@ -573,13 +573,8 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void **vaddr, int flags, */ maxsize = check_kmalloc(dmat, *vaddr, 0); if (maxsize) { - size_t size; - kfree(*vaddr, M_DEVBUF); - /* XXX check for overflow? */ - for (size = 1; size <= maxsize; size <<= 1) - ; - *vaddr = kmalloc(size, M_DEVBUF, mflags); + *vaddr = kmalloc_powerof2(maxsize, M_DEVBUF, mflags); check_kmalloc(dmat, *vaddr, 1); } } else { -- 1.7.7.2