summaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorVitalii Mordan <mordan@ispras.ru>2025-02-12 20:28:03 +0300
committerAndi Shyti <andi.shyti@kernel.org>2025-03-18 21:53:53 +0100
commitbe7113d2e2a6f20cbee99c98d261a1fd6fd7b549 (patch)
tree1d67523ba8b04305beb525512c12697d8134dd64 /drivers/i2c
parentfad3d2e3014957d99e4616bc1a698b8d719614b3 (diff)
i2c: pxa: fix call balance of i2c->clk handling routines
If the clock i2c->clk was not enabled in i2c_pxa_probe(), it should not be disabled in any path. Found by Linux Verification Center (linuxtesting.org) with Klever. Signed-off-by: Vitalii Mordan <mordan@ispras.ru> Signed-off-by: Andi Shyti <andi.shyti@kernel.org> Link: https://lore.kernel.org/r/20250212172803.1422136-1-mordan@ispras.ru
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-pxa.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index cb6988482673..4415a29f749b 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -1503,7 +1503,10 @@ static int i2c_pxa_probe(struct platform_device *dev)
i2c->adap.name);
}
- clk_prepare_enable(i2c->clk);
+ ret = clk_prepare_enable(i2c->clk);
+ if (ret)
+ return dev_err_probe(&dev->dev, ret,
+ "failed to enable clock\n");
if (i2c->use_pio) {
i2c->adap.algo = &i2c_pxa_pio_algorithm;