Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

memory: tegra186-emc: Fix missing put_bpmp

Commit a52ddb98a674 ("memory: tegra186-emc: Simplify and handle deferred
probe with dev_err_probe()") accidently dropped a call to 'put_bpmp' to
release a handle to the BPMP when getting the EMC clock fails. Fix this
by restoring the 'goto put_bpmp' if devm_clk_get() fails.

Fixes: a52ddb98a674 ("memory: tegra186-emc: Simplify and handle deferred probe with dev_err_probe()")
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://patch.msgid.link/20251106190550.1776974-1-jonathanh@nvidia.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

authored by

Jon Hunter and committed by
Krzysztof Kozlowski
1463299a 42ec0bc6

+5 -3
+5 -3
drivers/memory/tegra/tegra186-emc.c
··· 322 322 "failed to get BPMP\n"); 323 323 324 324 emc->clk = devm_clk_get(&pdev->dev, "emc"); 325 - if (IS_ERR(emc->clk)) 326 - return dev_err_probe(&pdev->dev, PTR_ERR(emc->clk), 327 - "failed to get EMC clock\n"); 325 + if (IS_ERR(emc->clk)) { 326 + err = dev_err_probe(&pdev->dev, PTR_ERR(emc->clk), 327 + "failed to get EMC clock\n"); 328 + goto put_bpmp; 329 + } 328 330 329 331 platform_set_drvdata(pdev, emc); 330 332 emc->dev = &pdev->dev;