summaryrefslogtreecommitdiff
path: root/drivers/tty/tty_io.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-05-22 00:17:27 +0100
committerMark Brown <broonie@linaro.org>2014-05-22 00:17:27 +0100
commitbfbc344732badffe94f096f929e4a105b3b92d1f (patch)
treef4fc6c06108495bd2c33ecff68c065514e66a8cc /drivers/tty/tty_io.c
parentc9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (diff)
parentc6466950e917890be3050171f6745ccb9d91d35f (diff)
Merge tag 'mfd-regulator-v3.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into regulator-bcm590xxx
Immutable branch between MFD and Regulator due for v3.16 merge-window.
Diffstat (limited to 'drivers/tty/tty_io.c')
-rw-r--r--drivers/tty/tty_io.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
index d3448a90f0f9..34110719fe03 100644
--- a/drivers/tty/tty_io.c
+++ b/drivers/tty/tty_io.c
@@ -878,9 +878,8 @@ void disassociate_ctty(int on_exit)
spin_lock_irq(&current->sighand->siglock);
put_pid(current->signal->tty_old_pgrp);
current->signal->tty_old_pgrp = NULL;
- spin_unlock_irq(&current->sighand->siglock);
- tty = get_current_tty();
+ tty = tty_kref_get(current->signal->tty);
if (tty) {
unsigned long flags;
spin_lock_irqsave(&tty->ctrl_lock, flags);
@@ -897,6 +896,7 @@ void disassociate_ctty(int on_exit)
#endif
}
+ spin_unlock_irq(&current->sighand->siglock);
/* Now clear signal->tty under the lock */
read_lock(&tasklist_lock);
session_clear_tty(task_session(current));