mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-05 01:14:43 -04:00
memory: stm32_omm: Fix error handling in stm32_omm_configure()
There are two error handling bugs in the stm32_omm_configure() function.
1) The error code needs to be set if clk_get_rate() fails.
2) If devm_reset_control_get_exclusive() then call
pm_runtime_put_sync_suspend() before returning.
Fixes: 8181d061dc ("memory: Add STM32 Octo Memory Manager driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/a69ce0445324e994ea2ed7493bda1f6046c7ff69.1746781081.git.dan.carpenter@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
This commit is contained in:
committed by
Krzysztof Kozlowski
parent
9c03507fcd
commit
d44eeb20d9
@@ -222,6 +222,7 @@ static int stm32_omm_configure(struct device *dev)
|
||||
clk_rate = clk_get_rate(omm->clk_bulk[i].clk);
|
||||
if (!clk_rate) {
|
||||
dev_err(dev, "Invalid clock rate\n");
|
||||
ret = -EINVAL;
|
||||
goto error;
|
||||
}
|
||||
|
||||
@@ -230,8 +231,10 @@ static int stm32_omm_configure(struct device *dev)
|
||||
}
|
||||
|
||||
rstc = devm_reset_control_get_exclusive(dev, "omm");
|
||||
if (IS_ERR(rstc))
|
||||
return dev_err_probe(dev, PTR_ERR(rstc), "reset get failed\n");
|
||||
if (IS_ERR(rstc)) {
|
||||
ret = dev_err_probe(dev, PTR_ERR(rstc), "reset get failed\n");
|
||||
goto error;
|
||||
}
|
||||
|
||||
reset_control_assert(rstc);
|
||||
udelay(2);
|
||||
|
||||
Reference in New Issue
Block a user