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:
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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue