From: Amol Lad ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Signed-off-by: Andrew Morton --- sound/oss/btaudio.c | 2 ++ 1 files changed, 2 insertions(+) diff -puN sound/oss/btaudio.c~sound-oss-btaudioc-ioremap-balanced-with-iounmap sound/oss/btaudio.c --- a/sound/oss/btaudio.c~sound-oss-btaudioc-ioremap-balanced-with-iounmap +++ a/sound/oss/btaudio.c @@ -1020,6 +1020,7 @@ static int __devinit btaudio_probe(struc 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(str 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) { _