From 840c81141b97d0c543981198aea123698daa7be3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Goddard=20Rosa?= Date: Sun, 25 Oct 2009 11:16:32 -0200 Subject: [PATCH] --- yaml --- r: 175325 b: refs/heads/master c: 9e845abfc8a8973373821aa05302794fd254514b h: refs/heads/master i: 175323: c0fdcc9fd3ef6b45fd4adcee9f17f8a065ff869e v: v3 --- [refs] | 2 +- trunk/drivers/serial/serial_core.c | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 76dd3ec14bfd..499d1df7dad4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2a0785ea375fe93cd480599bb40d0c837ff72a2e +refs/heads/master: 9e845abfc8a8973373821aa05302794fd254514b diff --git a/trunk/drivers/serial/serial_core.c b/trunk/drivers/serial/serial_core.c index dcc72444e8e7..885eabe552cd 100644 --- a/trunk/drivers/serial/serial_core.c +++ b/trunk/drivers/serial/serial_core.c @@ -2344,7 +2344,7 @@ static const struct tty_operations uart_ops = { */ int uart_register_driver(struct uart_driver *drv) { - struct tty_driver *normal = NULL; + struct tty_driver *normal; int i, retval; BUG_ON(drv->state); @@ -2354,13 +2354,12 @@ int uart_register_driver(struct uart_driver *drv) * we have a large number of ports to handle. */ drv->state = kzalloc(sizeof(struct uart_state) * drv->nr, GFP_KERNEL); - retval = -ENOMEM; if (!drv->state) goto out; - normal = alloc_tty_driver(drv->nr); + normal = alloc_tty_driver(drv->nr); if (!normal) - goto out; + goto out_kfree; drv->tty_driver = normal; @@ -2393,12 +2392,14 @@ int uart_register_driver(struct uart_driver *drv) } retval = tty_register_driver(normal); - out: - if (retval < 0) { - put_tty_driver(normal); - kfree(drv->state); - } - return retval; + if (retval >= 0) + return retval; + + put_tty_driver(normal); +out_kfree: + kfree(drv->state); +out: + return -ENOMEM; } /**