summaryrefslogtreecommitdiff
path: root/drivers/pcmcia/at91_cf.c
diff options
context:
space:
mode:
authorAmol Lad <amol@verismonetworks.com>2006-10-20 14:44:18 -0700
committerDominik Brodowski <linux@dominikbrodowski.net>2006-10-25 21:59:43 -0400
commit3efa9970bd0ac731302224ab9243693e91bc4bea (patch)
treead915a88d7e7e027deeb989e25b387ced29f4d45 /drivers/pcmcia/at91_cf.c
parenta230a6785dd5af84b8b043a64d8df8adc81f3724 (diff)
[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: