summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2013-05-29 13:47:09 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-06-03 10:30:43 -0700
commit147275983e42e07f4c9f3764a91ff65be026aea9 (patch)
treef4bff42d51e1b5d7e87a3041c7981cabb5e6f79a
parent86b40567b9178d2de8bbc08b04c98c8373ddf194 (diff)
downloadop-kernel-dev-147275983e42e07f4c9f3764a91ff65be026aea9.zip
op-kernel-dev-147275983e42e07f4c9f3764a91ff65be026aea9.tar.gz
serial: samsung: missing uart_unregister_driver() on error in s3c24xx_serial_modinit()
Add the missing uart_unregister_driver() before return from s3c24xx_serial_modinit() in the error handling case. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/serial/samsung.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
index 8942941..1c2b8c3 100644
--- a/drivers/tty/serial/samsung.c
+++ b/drivers/tty/serial/samsung.c
@@ -1798,7 +1798,13 @@ static int __init s3c24xx_serial_modinit(void)
return ret;
}
- return platform_driver_register(&samsung_serial_driver);
+ ret = platform_driver_register(&samsung_serial_driver);
+ if (ret < 0) {
+ pr_err("Failed to register platform driver\n");
+ uart_unregister_driver(&s3c24xx_uart_drv);
+ }
+
+ return ret;
}
static void __exit s3c24xx_serial_modexit(void)
OpenPOWER on IntegriCloud