This patch should be the part of: "tty: serial: 8250_core: use the ->line argument as a hint in serial8250_find_match_or_unused()" (sha1: 59b3e898ddfc81a65975043b5eb44103cc29ff6e) port->line can be setup by DT driver to -1 which needs to be also checked. Signed-off-by: Michal Simek --- I have similar patch to 59b3e898ddfc81a65975043b5eb44103cc29ff6e in xilinx tree for a while and port->line can be -1. The second part of this also should be (what other drivers do) reading aliases via of_alias_get_id() in of_serial.c:of_platform_serial_probe() which setup port.line. --- drivers/tty/serial/8250/8250_core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c index 65e52c9109e2..aab765177763 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c @@ -3512,7 +3512,8 @@ static struct uart_8250_port *serial8250_find_match_or_unused(struct uart_port * /* try line number first if still available */ i = port->line; - if (i < nr_uarts && serial8250_ports[i].port.type == PORT_UNKNOWN && + if (i >= 0 && i < nr_uarts && + serial8250_ports[i].port.type == PORT_UNKNOWN && serial8250_ports[i].port.iobase == 0) return &serial8250_ports[i]; /* -- 1.8.2.3