Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> --- drivers/tty/pty.c | 3 ++- drivers/tty/tty_buffer.c | 2 +- drivers/tty/tty_io.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c index be6a373..baf52b4 100644 --- a/drivers/tty/pty.c +++ b/drivers/tty/pty.c @@ -407,8 +407,9 @@ static void pty_unix98_shutdown(struct tty_struct *tty) static void pty_cleanup(struct tty_struct *tty) { - tty->port->itty = NULL; + tty->port->itty = ERR_PTR(-2); tty_port_put(tty->port); + tty->port = NULL; } /* Traditional BSD devices */ diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c index b29ba87..cc9cbcf 100644 --- a/drivers/tty/tty_buffer.c +++ b/drivers/tty/tty_buffer.c @@ -432,7 +432,7 @@ static void flush_to_ldisc(struct work_struct *work) struct tty_ldisc *disc; tty = port->itty; - if (WARN_RATELIMIT(tty == NULL, "tty is NULL\n")) + if (WARN_RATELIMIT(IS_ERR_OR_NULL(tty), "tty is bad=%ld", PTR_ERR(tty))) return; disc = tty_ldisc_ref(tty); diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c index da9fde8..78c3000 100644 --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -1553,7 +1553,7 @@ static void release_tty(struct tty_struct *tty, int idx) tty->ops->shutdown(tty); tty_free_termios(tty); tty_driver_remove_tty(tty->driver, tty); - tty->port->itty = NULL; + tty->port->itty = ERR_PTR(-1); if (tty->link) tty_kref_put(tty->link); -- 1.8.0.1 -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html