tty: serial: owl: Fix missing clk_disable_unprepare() in owl_uart_probe
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 7 Mar 2022 10:51:35 +0000 (10:51 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 16:36:03 +0000 (18:36 +0200)
[ Upstream commit bcea0f547ec1a2ee44d429aaf0334633e386e67c ]

Fix the missing clk_disable_unprepare() before return
from owl_uart_probe() in the error handling case.

Fixes: abf42d2f333b ("tty: serial: owl: add "much needed" clk_prepare_enable()")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20220307105135.11698-1-linmq006@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/tty/serial/owl-uart.c

index 91f1eb0..9a6611c 100644 (file)
@@ -731,6 +731,7 @@ static int owl_uart_probe(struct platform_device *pdev)
        owl_port->port.uartclk = clk_get_rate(owl_port->clk);
        if (owl_port->port.uartclk == 0) {
                dev_err(&pdev->dev, "clock rate is zero\n");
+               clk_disable_unprepare(owl_port->clk);
                return -EINVAL;
        }
        owl_port->port.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP | UPF_LOW_LATENCY;