|
@@ -885,6 +885,10 @@ static int serial_pxa_probe(struct platform_device *dev)
|
|
sport->port.line = dev->id;
|
|
sport->port.line = dev->id;
|
|
else if (ret < 0)
|
|
else if (ret < 0)
|
|
goto err_clk;
|
|
goto err_clk;
|
|
|
|
+ if (sport->port.line >= ARRAY_SIZE(serial_pxa_ports)) {
|
|
|
|
+ dev_err(&dev->dev, "serial%d out of range\n", sport->port.line);
|
|
|
|
+ return -EINVAL;
|
|
|
|
+ }
|
|
snprintf(sport->name, PXA_NAME_LEN - 1, "UART%d", sport->port.line + 1);
|
|
snprintf(sport->name, PXA_NAME_LEN - 1, "UART%d", sport->port.line + 1);
|
|
|
|
|
|
sport->port.membase = ioremap(mmres->start, resource_size(mmres));
|
|
sport->port.membase = ioremap(mmres->start, resource_size(mmres));
|