|
@@ -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
|