Revert "tty: Fix ldisc crash on reopened tty"
This reverts commit 71472fa9c5
. It caused
merge issues, and Dmitry found some review issues.
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Mikulas Patocka <mpatocka@redhat.com>
Cc: Peter Hurley <peter@hurleysoftware.com>
Cc: Michael Neuling <mikey@neuling.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
acbdad8dd1
commit
896d81fefe
|
@ -669,17 +669,16 @@ int tty_ldisc_reinit(struct tty_struct *tty, int disc)
|
||||||
tty_ldisc_put(tty->ldisc);
|
tty_ldisc_put(tty->ldisc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* switch the line discipline */
|
||||||
|
tty->ldisc = ld;
|
||||||
tty_set_termios_ldisc(tty, disc);
|
tty_set_termios_ldisc(tty, disc);
|
||||||
retval = tty_ldisc_open(tty, ld);
|
retval = tty_ldisc_open(tty, tty->ldisc);
|
||||||
if (retval) {
|
if (retval) {
|
||||||
if (!WARN_ON(disc == N_TTY)) {
|
if (!WARN_ON(disc == N_TTY)) {
|
||||||
tty_ldisc_put(ld);
|
tty_ldisc_put(tty->ldisc);
|
||||||
ld = NULL;
|
tty->ldisc = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* switch the line discipline */
|
|
||||||
smp_store_release(&tty->ldisc, ld);
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue