tty: Complete ownership transfer of flip buffers
authorPeter Hurley <peter@hurleysoftware.com>
Mon, 11 Mar 2013 20:44:34 +0000 (16:44 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 18 Mar 2013 23:44:02 +0000 (16:44 -0700)
commit4f98d4675166fc1991dbad7dd2af634df7c14061
tree75695c7c73a7a79d398cb748a65ede865a24733d
parentd912156605b0eb3b3070dc7eabc43db6379aa43b
tty: Complete ownership transfer of flip buffers

Waiting for buffer work to complete is not required for safely
performing changes to the line discipline, once the line discipline
is halted. The buffer work routine, flush_to_ldisc(), will be
unable to acquire an ldisc ref and all existing references were
waited until released (so it can't already have one).

Ensure running buffer work which may reference the soon-to-be-gone
tty completes and any buffer work running after this point retrieves
a NULL tty.

Also, ensure all buffer work is cancelled on port destruction.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/tty_io.c
drivers/tty/tty_ldisc.c
drivers/tty/tty_port.c