From: Shubhrajyoti Datta Date: Tue, 16 Oct 2018 10:18:00 +0000 (+0530) Subject: serial-uartlite: Move the uart register X-Git-Tag: v5.0-rc1~98^2~76 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=f33cf776617ba3b0f738cd70c31e0f62ea777a8d;p=linux.git serial-uartlite: Move the uart register Move the uart register. This fixes the error path where the clock disable is missed out. Signed-off-by: Shubhrajyoti Datta Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/serial/uartlite.c b/drivers/tty/serial/uartlite.c index f0344adc86db..77bc9d0cb8bf 100644 --- a/drivers/tty/serial/uartlite.c +++ b/drivers/tty/serial/uartlite.c @@ -763,6 +763,15 @@ static int ulite_probe(struct platform_device *pdev) if (prop) id = be32_to_cpup(prop); #endif + if (!ulite_uart_driver.state) { + dev_dbg(&pdev->dev, "uartlite: calling uart_register_driver()\n"); + ret = uart_register_driver(&ulite_uart_driver); + if (ret < 0) { + dev_err(&pdev->dev, "Failed to register driver\n"); + return ret; + } + } + pdata = devm_kzalloc(&pdev->dev, sizeof(struct uartlite_data), GFP_KERNEL); if (!pdata) @@ -794,15 +803,6 @@ static int ulite_probe(struct platform_device *pdev) return ret; } - if (!ulite_uart_driver.state) { - dev_dbg(&pdev->dev, "uartlite: calling uart_register_driver()\n"); - ret = uart_register_driver(&ulite_uart_driver); - if (ret < 0) { - dev_err(&pdev->dev, "Failed to register driver\n"); - return ret; - } - } - ret = ulite_assign(&pdev->dev, id, res->start, irq, pdata); clk_disable(pdata->clk);