[PATCH] memory: stm32_omm: fix child clock leak on set_amcr() error path

Krzysztof Kozlowski krzk at kernel.org
Wed Sep 23 11:01:54 PDT 2026


On Thu, 17 Sep 2026 17:59:25 -0600, Diego Fernando Mancera Gomez wrote:
> When the mux is enabled, stm32_omm_configure() enables the two OSPI
> child clocks via stm32_omm_toggle_child_clock(dev, true); they are meant
> to stay enabled for the device's lifetime and are disabled again in
> stm32_omm_remove() and on the devm_of_platform_populate() error path.
> 
> However, if the subsequent stm32_omm_set_amcr() call fails, the function
> jumps to the "error:" label which only calls pm_runtime_put_sync_suspend()
> before returning, leaving the two child clocks enabled. As this happens
> during probe, the error is propagated and .remove() is never called, so
> the clock enable references are leaked. devm_clk_bulk_get() only releases
> the clock handles on unwind, it does not undo clk_prepare_enable().
> 
> [...]

Applied, thanks!

[1/1] memory: stm32_omm: fix child clock leak on set_amcr() error path
      https://git.kernel.org/krzk/linux-mem-ctrl/c/a22355280361d2a376a2020059a2bae11e6cea10

Best regards,
-- 
Krzysztof Kozlowski <krzk at kernel.org>




More information about the linux-arm-kernel mailing list