summaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia/at91_cf.c
diff options
context:
space:
mode:
authorAmol Lad <amol@verismonetworks.com>2006-10-20 23:44:18 +0200
committerDominik Brodowski <linux@dominikbrodowski.net>2006-10-26 03:59:43 +0200
commit3efa9970bd0ac731302224ab9243693e91bc4bea (patch)
treead915a88d7e7e027deeb989e25b387ced29f4d45 /drivers/pcmcia/at91_cf.c
parent[PATCH] pcmcia: au1000_generic fix (diff)
downloadlinux-3efa9970bd0ac731302224ab9243693e91bc4bea.tar.xz
linux-3efa9970bd0ac731302224ab9243693e91bc4bea.zip
[PATCH] ioremap balanced with iounmap for drivers/pcmcia
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: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia/at91_cf.c')
-rw-r--r--drivers/pcmcia/at91_cf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/pcmcia/at91_cf.c b/drivers/pcmcia/at91_cf.c
index f8db6e342cbb..3bcb7dc32995 100644
--- a/drivers/pcmcia/at91_cf.c
+++ b/drivers/pcmcia/at91_cf.c
@@ -310,9 +310,10 @@ static int __init at91_cf_probe(struct platform_device *pdev)
return 0;
fail2:
- iounmap((void __iomem *) cf->socket.io_offset);
release_mem_region(io->start, io->end + 1 - io->start);
fail1:
+ if (cf->socket.io_offset)
+ iounmap((void __iomem *) cf->socket.io_offset);
if (board->irq_pin)
free_irq(board->irq_pin, cf);
fail0a: