aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmol Lad <amol@verismonetworks.com>2006-12-06 20:35:23 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 08:39:30 -0800
commitb9d85b08c689dbf54b9943a02f73cb54c2b0fccf (patch)
treed653db1f027142b1ac51e6b04277b6d889802465
parentaa8a8d664828c7184a2e775fb50611324ef21b5c (diff)
[PATCH] sound/oss/btaudio.c: ioremap balanced with iounmap
ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad <amol@verismonetworks.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--sound/oss/btaudio.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/oss/btaudio.c b/sound/oss/btaudio.c
index 6ad38411423..ad7210a00dc 100644
--- a/sound/oss/btaudio.c
+++ b/sound/oss/btaudio.c
@@ -1020,6 +1020,7 @@ static int __devinit btaudio_probe(struct pci_dev *pci_dev,
fail2:
free_irq(bta->irq,bta);
fail1:
+ iounmap(bta->mmio);
kfree(bta);
fail0:
release_mem_region(pci_resource_start(pci_dev,0),
@@ -1051,6 +1052,7 @@ static void __devexit btaudio_remove(struct pci_dev *pci_dev)
free_irq(bta->irq,bta);
release_mem_region(pci_resource_start(pci_dev,0),
pci_resource_len(pci_dev,0));
+ iounmap(bta->mmio);
/* remove from linked list */
if (bta == btaudios) {