PCI: meson: Propagate devm_add_action_or_reset() failure

[ Upstream commit b12341b98d ]

meson_pcie_probe_clock() enables a clock and then registers a devres
action to disable it during teardown. If devm_add_action_or_reset()
fails, it runs the action immediately, disabling the clock.

The return value is currently ignored, so on that failure path,
meson_pcie_probe_clock() returns the disabled clock and probe continues.
Return the error so the existing probe error path unwinds normally.

Fixes: 9c0ef6d34f ("PCI: amlogic: Add the Amlogic Meson PCIe controller driver")
Signed-off-by: Shuvam Pandey <shuvampandey1@gmail.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/177909148011.9588.6639767953842842291@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Shuvam Pandey
2026-07-24 16:03:16 +02:00
committed by Greg Kroah-Hartman
parent b0c5bc5068
commit 018359b048
+3 -1
View File
@@ -194,7 +194,9 @@ static inline struct clk *meson_pcie_probe_clock(struct device *dev,
return ERR_PTR(ret);
}
devm_add_action_or_reset(dev, meson_pcie_disable_clock, clk);
ret = devm_add_action_or_reset(dev, meson_pcie_disable_clock, clk);
if (ret)
return ERR_PTR(ret);
return clk;
}