Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tty: serial_core: fix error code returned by uart_register_driver()

uart_register_driver() returned -ENOMEM on any error, even when
tty_register_driver() call returned another one, such as -EBUSY.

Signed-off-by: Sergey Organov <sorganov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Sergey Organov and committed by
Greg Kroah-Hartman
050dfc09 bdbd0a7f

+2 -2
+2 -2
drivers/tty/serial/serial_core.c
··· 2507 2507 int uart_register_driver(struct uart_driver *drv) 2508 2508 { 2509 2509 struct tty_driver *normal; 2510 - int i, retval; 2510 + int i, retval = -ENOMEM; 2511 2511 2512 2512 BUG_ON(drv->state); 2513 2513 ··· 2559 2559 out_kfree: 2560 2560 kfree(drv->state); 2561 2561 out: 2562 - return -ENOMEM; 2562 + return retval; 2563 2563 } 2564 2564 2565 2565 /**