tty: serial: 8250_core: use the ->line argument as a hint in serial8250_find_match_or...
[cascardo/linux.git] / drivers / tty / serial / 8250 / 8250_core.c
index 547afde..ac88e66 100644 (file)
@@ -3516,6 +3516,11 @@ static struct uart_8250_port *serial8250_find_match_or_unused(struct uart_port *
                if (uart_match_port(&serial8250_ports[i].port, port))
                        return &serial8250_ports[i];
 
+       /* try line number first if still available */
+       i = port->line;
+       if (i < nr_uarts && serial8250_ports[i].port.type == PORT_UNKNOWN &&
+                       serial8250_ports[i].port.iobase == 0)
+               return &serial8250_ports[i];
        /*
         * We didn't find a matching entry, so look for the first
         * free entry.  We look for one which hasn't been previously