Commit 039d09a8 authored by Amol Lad's avatar Amol Lad Committed by Greg Kroah-Hartman

PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap

ioremap must be balanced by an iounmap and failing to do so can result
in a memory leak.

Tested (compilation only):
- using allmodconfig
- making sure the files are compiling without any warning/error due to
new changes
Signed-off-by: default avatarAmol Lad <amol@verismonetworks.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 7edab2f0
...@@ -75,7 +75,7 @@ EXPORT_SYMBOL(dma_free_coherent); ...@@ -75,7 +75,7 @@ EXPORT_SYMBOL(dma_free_coherent);
int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,
dma_addr_t device_addr, size_t size, int flags) dma_addr_t device_addr, size_t size, int flags)
{ {
void __iomem *mem_base; void __iomem *mem_base = NULL;
int pages = size >> PAGE_SHIFT; int pages = size >> PAGE_SHIFT;
int bitmap_size = (pages + 31)/32; int bitmap_size = (pages + 31)/32;
...@@ -114,6 +114,8 @@ int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, ...@@ -114,6 +114,8 @@ int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,
free1_out: free1_out:
kfree(dev->dma_mem->bitmap); kfree(dev->dma_mem->bitmap);
out: out:
if (mem_base)
iounmap(mem_base);
return 0; return 0;
} }
EXPORT_SYMBOL(dma_declare_coherent_memory); EXPORT_SYMBOL(dma_declare_coherent_memory);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment