Searched hist:"91 b32f5413c17e80ac6616dd9c62e826fa438e2d" (Results 1 – 1 of 1) sorted by relevance
/linux/drivers/tty/serial/ |
H A D | serial_core.c | diff 91b32f5413c17e80ac6616dd9c62e826fa438e2d Thu Oct 16 22:54:27 CEST 2014 Peter Hurley <peter@hurleysoftware.com> serial: core: Fix port count when uart_open() errors
A port count mismatch occurs if mutex_lock_interruptible() exits uart_open() and the port has already been opened. This may prematurely close a port on an open tty. Since uart_close() is _always_ called if uart_open() fails, the port count must be corrected if errors occur.
Always increment the port count in uart_open(), regardless of errors; always decrement the port count in uart_close(). Note that tty_port_close_start() decrements the port count when uart_open() was successful.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|