diff options
Diffstat (limited to 'target/linux/layerscape/patches-4.9/816-tty-serial-support-layerscape.patch')
-rw-r--r-- | target/linux/layerscape/patches-4.9/816-tty-serial-support-layerscape.patch | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/target/linux/layerscape/patches-4.9/816-tty-serial-support-layerscape.patch b/target/linux/layerscape/patches-4.9/816-tty-serial-support-layerscape.patch index f7119e494c..dd28ef6c04 100644 --- a/target/linux/layerscape/patches-4.9/816-tty-serial-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/816-tty-serial-support-layerscape.patch @@ -117,12 +117,16 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> } /* -@@ -1899,9 +1922,13 @@ static int lpuart_probe(struct platform_ +@@ -1899,13 +1922,13 @@ static int lpuart_probe(struct platform_ ret = of_alias_get_id(np, "serial"); if (ret < 0) { - dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret); - return ret; +- } +- if (ret >= ARRAY_SIZE(lpuart_ports)) { +- dev_err(&pdev->dev, "serial%d out of range\n", ret); +- return -EINVAL; + ret = find_first_zero_bit(linemap, UART_NR); + if (ret >= UART_NR) { + dev_err(&pdev->dev, "port line is full, add device failed\n"); @@ -133,7 +137,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> sport->port.line = ret; sport->lpuart32 = of_device_is_compatible(np, "fsl,ls1021a-lpuart"); -@@ -1983,6 +2010,7 @@ static int lpuart_remove(struct platform +@@ -1987,6 +2010,7 @@ static int lpuart_remove(struct platform struct lpuart_port *sport = platform_get_drvdata(pdev); uart_remove_one_port(&lpuart_reg, &sport->port); @@ -141,7 +145,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> clk_disable_unprepare(sport->clk); -@@ -2067,12 +2095,10 @@ static int lpuart_resume(struct device * +@@ -2071,12 +2095,10 @@ static int lpuart_resume(struct device * if (sport->lpuart_dma_rx_use) { if (sport->port.irq_wake) { |