]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tty: always relink the port
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>
Fri, 27 Dec 2019 17:44:34 +0000 (17:44 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 28 Apr 2020 18:03:10 +0000 (19:03 +0100)
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>
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: Ben Hutchings <ben@decadent.org.uk>
drivers/tty/tty_port.c

index bfdd93ab247215ee754781010596cd6c31c87e20..3f746c8eb0dd410f36f48c29de2f4835f801c05b 100644 (file)
@@ -49,8 +49,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);