Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8959188b authored by Gaosheng Cui's avatar Gaosheng Cui Committed by Greg Kroah-Hartman
Browse files

memory: atmel-sdramc: Fix missing clk_disable_unprepare in atmel_ramc_probe()



[ Upstream commit 340cb392a038cf70540a4cdf2e98a247c66b6df4 ]

The clk_disable_unprepare() should be called in the error handling
of caps->has_mpddr_clk, fix it by replacing devm_clk_get and
clk_prepare_enable by devm_clk_get_enabled.

Fixes: e81b6abe ("memory: add a driver for atmel ram controllers")
Signed-off-by: default avatarGaosheng Cui <cuigaosheng1@huawei.com>
Link: https://lore.kernel.org/r/20221125073757.3535219-1-cuigaosheng1@huawei.com


Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 31026805
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -47,19 +47,17 @@ static int atmel_ramc_probe(struct platform_device *pdev)
	caps = of_device_get_match_data(&pdev->dev);

	if (caps->has_ddrck) {
		clk = devm_clk_get(&pdev->dev, "ddrck");
		clk = devm_clk_get_enabled(&pdev->dev, "ddrck");
		if (IS_ERR(clk))
			return PTR_ERR(clk);
		clk_prepare_enable(clk);
	}

	if (caps->has_mpddr_clk) {
		clk = devm_clk_get(&pdev->dev, "mpddr");
		clk = devm_clk_get_enabled(&pdev->dev, "mpddr");
		if (IS_ERR(clk)) {
			pr_err("AT91 RAMC: couldn't get mpddr clock\n");
			return PTR_ERR(clk);
		}
		clk_prepare_enable(clk);
	}

	return 0;