--- kernel/drivers/serial/rt_imx_uart.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/kernel/drivers/serial/rt_imx_uart.c b/kernel/drivers/serial/rt_imx_uart.c index 1aec219b7..443a34261 100644 --- a/kernel/drivers/serial/rt_imx_uart.c +++ b/kernel/drivers/serial/rt_imx_uart.c @@ -1579,8 +1579,8 @@ static int rt_imx_uart_probe(struct platform_device *pdev) if (IS_ERR(port->clk_per)) return PTR_ERR(port->clk_per); - clk_enable(port->clk_ipg); - clk_enable(port->clk_per); + clk_prepare_enable(port->clk_ipg); + clk_prepare_enable(port->clk_per); port->uartclk = clk_get_rate(port->clk_per); port->use_hwflow = 1; @@ -1605,6 +1605,8 @@ static int rt_imx_uart_remove(struct platform_device *pdev) pdata = pdev->dev.platform_data; platform_set_drvdata(pdev, NULL); + clk_disable_unprepare(port->clk_ipg); + clk_disable_unprepare(port->clk_per); rtdm_dev_unregister(dev); return 0; -- 2.17.2