spi: cadence-quadspi: add missing clk_disable_unprepare() in cqspi_probe()
[ Upstream commit 5cb475174cce1bfedf1025b6e235e2c43d81144f ] cqspi_jh7110_clk_init() is called after clk_prepare_enable(cqspi->clk), if it fails, it should goto label 'probe_reset_failed' to disable cqspi->clk. In the error path after calling cqspi_jh7110_clk_init(), cqspi_jh7110_disable_clk() need be called. Fixes: 33f1ef6d4eb6 ("spi: cadence-quadspi: Add clock configuration for StarFive JH7110 QSPI") Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Link: https://lore.kernel.org/r/20231129081147.628004-1-yangyingliang@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
69c2d6e40d
commit
b1432249f1
@ -1825,7 +1825,7 @@ static int cqspi_probe(struct platform_device *pdev)
|
||||
if (ddata->jh7110_clk_init) {
|
||||
ret = cqspi_jh7110_clk_init(pdev, cqspi);
|
||||
if (ret)
|
||||
goto probe_clk_failed;
|
||||
goto probe_reset_failed;
|
||||
}
|
||||
|
||||
if (of_device_is_compatible(pdev->dev.of_node,
|
||||
@ -1872,6 +1872,8 @@ static int cqspi_probe(struct platform_device *pdev)
|
||||
probe_setup_failed:
|
||||
cqspi_controller_enable(cqspi, 0);
|
||||
probe_reset_failed:
|
||||
if (cqspi->is_jh7110)
|
||||
cqspi_jh7110_disable_clk(pdev, cqspi);
|
||||
clk_disable_unprepare(cqspi->clk);
|
||||
probe_clk_failed:
|
||||
pm_runtime_put_sync(dev);
|
||||
|
Loading…
x
Reference in New Issue
Block a user