]> git.baikalelectronics.ru Git - kernel.git/commit
tty: Separate release semantics of ldisc reference
authorPeter Hurley <peter@hurleysoftware.com>
Mon, 11 Mar 2013 20:44:40 +0000 (16:44 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 18 Mar 2013 23:48:42 +0000 (16:48 -0700)
commit68006e38287c3c8545e67810a7b47b3047548782
tree2438eccbfddbfde6ff8a388f2dcf049913b4db8e
parent86686d971e46aaadd429521ddb52872444efaec0
tty: Separate release semantics of ldisc reference

tty_ldisc_ref()/tty_ldisc_unref() have usage semantics
equivalent to down_read_trylock()/up_read(). Only
callers of tty_ldisc_put() are performing the additional
operations necessary for proper ldisc teardown, and then only
after ensuring no outstanding 'read lock' remains.

Thus, tty_ldisc_unref() should never be the last reference;
WARN if it is. Conversely, tty_ldisc_put() should never be
destructing if the use count != 1.

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