On 8/3/24 09:10, Gaosheng Cui wrote:
Add the missing clk_disable_unprepare() before return in
geni_i2c_runti().
The function name above is scrambled, it should be geni_i2c_runtime_resume().
Signed-off-by: Gaosheng Cui <cuigaosheng1@xxxxxxxxxx>
---
drivers/i2c/busses/i2c-qcom-geni.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
index 0a8b95ce35f7..78f43648e9f3 100644
--- a/drivers/i2c/busses/i2c-qcom-geni.c
+++ b/drivers/i2c/busses/i2c-qcom-geni.c
@@ -990,8 +990,10 @@ static int __maybe_unused geni_i2c_runtime_resume(struct device *dev)
return ret;
ret = geni_se_resources_on(&gi2c->se);
- if (ret)
+ if (ret) {
+ clk_disable_unprepare(gi2c->core_clk);
return ret;
+ }
enable_irq(gi2c->irq);
gi2c->suspended = 0;
The fix is correct, thank you.
FWIW there is another missed call of geni_icc_disable(&gi2c->se) on the error paths.
Fixes: 14d02fbadb5d ("i2c: qcom-geni: add desc struct to prepare support for I2C Master Hub variant")
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@xxxxxxxxxx>
--
Best wishes,
Vladimir