aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/msm_serial.c
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2013-07-17 13:34:09 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-26 16:04:50 -0700
commit195be84aaae50af84c833d91c81af015091ec86d (patch)
tree1159d446e5326aa73f5d9fe8de3fad3cbfe720e2 /drivers/tty/serial/msm_serial.c
parentserial: bfin_uart: Remove redundant testing for ifdef CONFIG_SERIAL_BFIN_MODULE (diff)
downloadlinux-dev-195be84aaae50af84c833d91c81af015091ec86d.tar.xz
linux-dev-195be84aaae50af84c833d91c81af015091ec86d.zip
msm_serial: add missing iounmap() on error in msm_request_port()
Add the missing iounmap() before return from msm_request_port() in the error handling case. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Reviewed-by: Ivan T. Ivanov <iivanov@mm-sol.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/msm_serial.c')
-rw-r--r--drivers/tty/serial/msm_serial.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c
index 2c6cfb3cf032..0b38b288ed5b 100644
--- a/drivers/tty/serial/msm_serial.c
+++ b/drivers/tty/serial/msm_serial.c
@@ -637,7 +637,7 @@ static int msm_request_port(struct uart_port *port)
if (!request_mem_region(gsbi_resource->start, size,
"msm_serial")) {
ret = -EBUSY;
- goto fail_release_port;
+ goto fail_release_port_membase;
}
msm_port->gsbi_base = ioremap(gsbi_resource->start, size);
@@ -651,6 +651,8 @@ static int msm_request_port(struct uart_port *port)
fail_release_gsbi:
release_mem_region(gsbi_resource->start, size);
+fail_release_port_membase:
+ iounmap(port->membase);
fail_release_port:
release_mem_region(port->mapbase, size);
return ret;