Files
linux/Documentation
Peter Hurley 7c8ab967e3 serial: Fix locking for uart driver set_termios() method
The low-level uart driver may modify termios settings to override
settings that are not compatible with the uart, such as CRTSCTS.
Thus, callers of the low-level uart driver's set_termios() method must
hold termios_rwsem write lock to prevent concurrent access to termios,
in case such override occurs.

The termios_rwsem lock requirement does not extend to console setup
(ie., uart_set_options), as console setup cannot race with tty
operations. Nor does this lock requirement extend to functions which
cannot be concurrent with tty ioctls (ie., uart_port_startup() and
uart_resume_port()).

Further, always claim the port mutex to protect hardware
re-reprogramming in the set_termios() uart driver method. Note this
is unnecessary for console initialization in uart_set_options()
which cannot be concurrent with other uart operations.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-11-05 18:53:54 -08:00
..
2014-09-26 08:24:05 +01:00
2014-10-09 22:26:02 -04:00
2014-05-05 15:32:05 +02:00
2014-02-28 15:12:08 -08:00
2014-08-25 03:28:09 -05:00
2014-02-10 16:01:40 -08:00
2014-08-06 23:36:12 -07:00
2013-01-10 01:27:46 +01:00
2014-10-23 23:02:36 +02:00
2014-06-19 17:45:14 -07:00
2014-04-18 14:20:48 +02:00
2014-05-12 17:08:33 -07:00
2014-08-26 09:35:54 +02:00
2014-05-05 15:32:05 +02:00
2013-11-14 11:04:40 -08:00
2014-03-21 13:16:58 +01:00
2013-12-02 14:48:28 +01:00
2014-03-21 13:16:58 +01:00
2013-12-02 14:45:19 +01:00
2014-08-08 15:57:24 -07:00
2014-05-05 15:32:05 +02:00
2014-05-05 15:32:05 +02:00
2014-05-05 15:32:05 +02:00
2014-09-23 23:44:16 -07:00