]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
PCI: meson: Propagate devm_add_action_or_reset() failure
authorShuvam Pandey <shuvampandey1@gmail.com>
Mon, 18 May 2026 08:04:40 +0000 (13:49 +0545)
committerManivannan Sadhasivam <mani@kernel.org>
Tue, 9 Jun 2026 16:23:56 +0000 (21:53 +0530)
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: 9c0ef6d34fdbf ("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
drivers/pci/controller/dwc/pci-meson.c

index 0694084f612b791787ac29455a93437221923f1e..8d495bcc3a41ae5b52a448282b4787e12c039664 100644 (file)
@@ -204,7 +204,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;
 }