From: Greg Kroah-Hartman Date: Wed, 29 Mar 2017 05:50:49 +0000 (+0200) Subject: Revert "tty: Fix ldisc crash on reopened tty" X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=896d81fefe5d1919537db2c2150ab6384e4a6610;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git Revert "tty: Fix ldisc crash on reopened tty" This reverts commit 71472fa9c52b1da27663c275d416d8654b905f05. It caused merge issues, and Dmitry found some review issues. Reported-by: Dmitry Vyukov Reported-by: Stephen Rothwell Cc: Mikulas Patocka Cc: Peter Hurley Cc: Michael Neuling Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c index 4ee7742dced3..68947f6de5ad 100644 --- a/drivers/tty/tty_ldisc.c +++ b/drivers/tty/tty_ldisc.c @@ -669,17 +669,16 @@ int tty_ldisc_reinit(struct tty_struct *tty, int disc) tty_ldisc_put(tty->ldisc); } + /* switch the line discipline */ + tty->ldisc = ld; tty_set_termios_ldisc(tty, disc); - retval = tty_ldisc_open(tty, ld); + retval = tty_ldisc_open(tty, tty->ldisc); if (retval) { if (!WARN_ON(disc == N_TTY)) { - tty_ldisc_put(ld); - ld = NULL; + tty_ldisc_put(tty->ldisc); + tty->ldisc = NULL; } } - - /* switch the line discipline */ - smp_store_release(&tty->ldisc, ld); return retval; }