diff options
author | Wei Yongjun <yongjun_wei@trendmicro.com.cn> | 2013-05-29 05:47:09 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-06-03 17:30:43 (GMT) |
commit | 147275983e42e07f4c9f3764a91ff65be026aea9 (patch) | |
tree | f4bff42d51e1b5d7e87a3041c7981cabb5e6f79a /drivers/tty | |
parent | 86b40567b9178d2de8bbc08b04c98c8373ddf194 (diff) | |
download | linux-147275983e42e07f4c9f3764a91ff65be026aea9.tar.xz |
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>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/samsung.c | 8 |
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) |