From d9a6e3b35fdb42a4bce5512d317995bf15468243 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Thu, 25 Apr 2013 15:34:27 +0800 Subject: [PATCH] --- yaml --- r: 376063 b: refs/heads/master c: 9bcc3278445bedc272dc2c432e81502d00ac9182 h: refs/heads/master i: 376061: 0a9b1a78042cb6688df1face6ca22724bd34803c 376059: 5ef06d1db10e1e470dc3ddb1b5f7252f0b1e555c 376055: f37c3e4422a3cc3d4e4fcccc0c9fff90cabc08ce 376047: c4661224359a99c4f973162b5424cb6a3d448022 376031: 4ab531131536329db82b85057267ef6cafb8241a 375999: 904156bca9e54da7c6ea00d9909335b2fc4cb497 375935: 15dea30b3ea1b8e05145fffa22555e98d694080e 375807: a6edb5c38bc0e37f260442e6125d0437fc200fcc v: v3 --- [refs] | 2 +- trunk/drivers/tty/serial/mpc52xx_uart.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index fd91c9bbbf41..8c875bec57e2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a82ea439655a66d587f353a3992521159f4050ee +refs/heads/master: 9bcc3278445bedc272dc2c432e81502d00ac9182 diff --git a/trunk/drivers/tty/serial/mpc52xx_uart.c b/trunk/drivers/tty/serial/mpc52xx_uart.c index 018bad922554..f51b280f3bf2 100644 --- a/trunk/drivers/tty/serial/mpc52xx_uart.c +++ b/trunk/drivers/tty/serial/mpc52xx_uart.c @@ -1497,18 +1497,23 @@ mpc52xx_uart_init(void) if (psc_ops && psc_ops->fifoc_init) { ret = psc_ops->fifoc_init(); if (ret) - return ret; + goto err_init; } ret = platform_driver_register(&mpc52xx_uart_of_driver); if (ret) { printk(KERN_ERR "%s: platform_driver_register failed (%i)\n", __FILE__, ret); - uart_unregister_driver(&mpc52xx_uart_driver); - return ret; + goto err_reg; } return 0; +err_reg: + if (psc_ops && psc_ops->fifoc_uninit) + psc_ops->fifoc_uninit(); +err_init: + uart_unregister_driver(&mpc52xx_uart_driver); + return ret; } static void __exit