From a141a04330bd6eadf7081a0860dc786be7d09c46 Mon Sep 17 00:00:00 2001 From: Amol Lad Date: Sat, 30 Sep 2006 23:29:24 -0700 Subject: [PATCH] ioremap balanced with iounmap for drivers/serial/mpsc.c ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: Alan Cox Cc: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/serial/mpsc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'drivers/serial') diff --git a/drivers/serial/mpsc.c b/drivers/serial/mpsc.c index 63d2a66e563..704243c9f78 100644 --- a/drivers/serial/mpsc.c +++ b/drivers/serial/mpsc.c @@ -1893,6 +1893,10 @@ mpsc_drv_map_regs(struct mpsc_port_info *pi, struct platform_device *pd) } else { mpsc_resource_err("SDMA base"); + if (pi->mpsc_base) { + iounmap(pi->mpsc_base); + pi->mpsc_base = NULL; + } return -ENOMEM; } @@ -1905,6 +1909,14 @@ mpsc_drv_map_regs(struct mpsc_port_info *pi, struct platform_device *pd) } else { mpsc_resource_err("BRG base"); + if (pi->mpsc_base) { + iounmap(pi->mpsc_base); + pi->mpsc_base = NULL; + } + if (pi->sdma_base) { + iounmap(pi->sdma_base); + pi->sdma_base = NULL; + } return -ENOMEM; } -- cgit v1.2.3-70-g09d2