[PATCH] remove TTY_DONT_FLIP
Remove TTY_DONT_FLIP tty flag. This flag was introduced in 2.1.X kernels to prevent the N_TTY line discipline functions read_chan() and n_tty_receive_buf() from running at the same time. 2.2.15 introduced tty->read_lock to protect access to the N_TTY read buffer, which is the only state requiring protection between these two functions. The current TTY_DONT_FLIP implementation is broken for SMP, and is not universally honored by drivers that send data directly to the line discipline receive_buf function. Because TTY_DONT_FLIP is not necessary, is broken in implementation, and is not universally honored, it is removed. Signed-off-by: Paul Fulghum <paulkf@microgate.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
e0ac4761fa
commit
817d6d3bce
@@ -2573,12 +2573,6 @@ static void flush_to_flip_buffer(struct e100_serial *info)
|
||||
|
||||
DFLIP(
|
||||
if (1) {
|
||||
|
||||
if (test_bit(TTY_DONT_FLIP, &tty->flags)) {
|
||||
DEBUG_LOG(info->line, "*** TTY_DONT_FLIP set flip.count %i ***\n", tty->flip.count);
|
||||
DEBUG_LOG(info->line, "*** recv_cnt %i\n", info->recv_cnt);
|
||||
} else {
|
||||
}
|
||||
DEBUG_LOG(info->line, "*** rxtot %i\n", info->icount.rx);
|
||||
DEBUG_LOG(info->line, "ldisc %lu\n", tty->ldisc.chars_in_buffer(tty));
|
||||
DEBUG_LOG(info->line, "room %lu\n", tty->ldisc.receive_room(tty));
|
||||
|
Reference in New Issue
Block a user