| From 73fecb86c12cc70a33fe45b1351db1cf7a92cd6f Mon Sep 17 00:00:00 2001 |
| From: Sudip Mukherjee <sudipm.mukherjee@gmail.com> |
| Date: Fri, 27 Dec 2019 17:44:34 +0000 |
| Subject: [PATCH] tty: always relink the port |
| |
| commit 273f632912f1b24b642ba5b7eb5022e43a72f3b5 upstream. |
| |
| If the serial device is disconnected and reconnected, it re-enumerates |
| properly but does not link it. fwiw, linking means just saving the port |
| index, so allow it always as there is no harm in saving the same value |
| again even if it tries to relink with the same port. |
| |
| Fixes: fb2b90014d78 ("tty: link tty and port before configuring it as console") |
| Reported-by: Kenneth R. Crudup <kenny@panix.com> |
| Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> |
| Cc: stable <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20191227174434.12057-1-sudipm.mukherjee@gmail.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c |
| index 5023c85ebc6e..044c3cbdcfa4 100644 |
| --- a/drivers/tty/tty_port.c |
| +++ b/drivers/tty/tty_port.c |
| @@ -89,8 +89,7 @@ void tty_port_link_device(struct tty_port *port, |
| { |
| if (WARN_ON(index >= driver->num)) |
| return; |
| - if (!driver->ports[index]) |
| - driver->ports[index] = port; |
| + driver->ports[index] = port; |
| } |
| EXPORT_SYMBOL_GPL(tty_port_link_device); |
| |
| -- |
| 2.7.4 |
| |