]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/tty/tty_ldisc.c
Revert "tty: Fix ldisc crash on reopened tty"
[linux.git] / drivers / tty / tty_ldisc.c
index 4ee7742dced3be9bfd28cd4f5e33f65cb4af5276..68947f6de5ad6339adea804182597229c3eb1d38 100644 (file)
@@ -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;
 }