tty: always relink the port
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>
Fri, 27 Dec 2019 17:44:34 +0000 (17:44 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Dec 2019 18:34:44 +0000 (19:34 +0100)
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>
drivers/tty/tty_port.c

index 5023c85..044c3cb 100644 (file)
@@ -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);