summaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/ioport.c
diff options
context:
space:
mode:
authorKristoffer Glembo <kristoffer@gaisler.com>2011-01-18 05:10:29 +0100
committerDavid S. Miller <davem@davemloft.net>2011-03-17 02:18:59 +0100
commit0c7c6a3c05f1d6d7e99fff0ca4056dce3ce07484 (patch)
treea3cbb0512c6c069fe8347810eea0ad4ac27f0b0d /arch/sparc/kernel/ioport.c
parentsparc: Make mmu_inval_dma_area take void * instead of unsigned long to minimi... (diff)
downloadlinux-0c7c6a3c05f1d6d7e99fff0ca4056dce3ce07484.tar.xz
linux-0c7c6a3c05f1d6d7e99fff0ca4056dce3ce07484.zip
sparc: Fix sbus_alloc_coherent error handling.
Order of kfree and free_pages were swapped in the error handling. Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com> Acked-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/ioport.c')
-rw-r--r--arch/sparc/kernel/ioport.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c
index bd4fb10748b1..c6ce9a6a4790 100644
--- a/arch/sparc/kernel/ioport.c
+++ b/arch/sparc/kernel/ioport.c
@@ -302,9 +302,9 @@ static void *sbus_alloc_coherent(struct device *dev, size_t len,
err_noiommu:
release_resource(res);
err_nova:
- free_pages(va, order);
-err_nomem:
kfree(res);
+err_nomem:
+ free_pages(va, order);
err_nopages:
return NULL;
}