Home
last modified time | relevance | path

Searched hist:"91 b32f5413c17e80ac6616dd9c62e826fa438e2d" (Results 1 – 1 of 1) sorted by relevance

/linux/drivers/tty/serial/
H A Dserial_core.cdiff 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>