Free memory region, if uart_add_one_port is not successful.

Signed-off-by: Arvind Yadav <arvind.yadav...@gmail.com>
---
 drivers/tty/serial/serial_core.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index 3a14ccc..989adbb 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -2784,7 +2784,7 @@ int uart_add_one_port(struct uart_driver *drv, struct 
uart_port *uport)
                                    GFP_KERNEL);
        if (!uport->tty_groups) {
                ret = -ENOMEM;
-               goto out;
+               goto out1;
        }
        uport->tty_groups[0] = &tty_dev_attr_group;
        if (uport->attr_group)
@@ -2808,6 +2808,8 @@ int uart_add_one_port(struct uart_driver *drv, struct 
uart_port *uport)
         */
        uport->flags &= ~UPF_DEAD;
 
+ out1:
+       kfree(uport->name);
  out:
        mutex_unlock(&port->mutex);
        mutex_unlock(&port_mutex);
-- 
1.9.1

Reply via email to