]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i2c: efm32: fix a failure path in efm32_i2c_probe()
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Fri, 15 Jul 2016 23:36:38 +0000 (02:36 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 20 Nov 2016 01:16:54 +0000 (01:16 +0000)
commit 7dd91d52a813f99a95d20f539b777e9e6198b931 upstream.

There is the only failure path in efm32_i2c_probe(),
where clk_disable_unprepare() is missed.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Fixes: 1b5b23718b84 ("i2c: efm32: new bus driver")
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/i2c/busses/i2c-efm32.c

index f7eccd682de961aa2252b1a780f37cc15f293941..599e620fd8da80ad7a1b121378b401b843635ccf 100644 (file)
@@ -427,7 +427,7 @@ static int efm32_i2c_probe(struct platform_device *pdev)
        ret = request_irq(ddata->irq, efm32_i2c_irq, 0, DRIVER_NAME, ddata);
        if (ret < 0) {
                dev_err(&pdev->dev, "failed to request irq (%d)\n", ret);
-               return ret;
+               goto err_disable_clk;
        }
 
        ret = i2c_add_adapter(&ddata->adapter);