mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
tty: Fix merge of "tty: Refactor tty_open()"
Commite9036d0662
("tty: Drop krefs for interrupted tty lock") fixed a tty reference counting problem introduced in commit0bfd464d3f
("tty: Wait interruptibly for tty lock on reopen"), so v4.5.0 is correct. However, commitd6203d0c7b
("tty: Refactor tty_open()") moved the relevant code for 4.6-rc1; correct the merge. Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
da5a0fc674
commit
5e00bbfbc5
@ -2049,14 +2049,13 @@ static struct tty_struct *tty_open_by_driver(dev_t device, struct inode *inode,
|
||||
if (tty) {
|
||||
mutex_unlock(&tty_mutex);
|
||||
retval = tty_lock_interruptible(tty);
|
||||
tty_kref_put(tty); /* drop kref from tty_driver_lookup_tty() */
|
||||
if (retval) {
|
||||
if (retval == -EINTR)
|
||||
retval = -ERESTARTSYS;
|
||||
tty = ERR_PTR(retval);
|
||||
goto out;
|
||||
}
|
||||
/* safe to drop the kref from tty_driver_lookup_tty() */
|
||||
tty_kref_put(tty);
|
||||
retval = tty_reopen(tty);
|
||||
if (retval < 0) {
|
||||
tty_unlock(tty);
|
||||
|
Loading…
Reference in New Issue
Block a user