From: Alexey Khoroshilov Date: Fri, 15 Jul 2016 23:36:38 +0000 (+0300) Subject: i2c: efm32: fix a failure path in efm32_i2c_probe() X-Git-Tag: firefly_0821_release~176^2~4^2~31^2~403 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3f32fd3a3a49780994d4f1b32816adfba75777cb;p=firefly-linux-kernel-4.4.55.git i2c: efm32: fix a failure path in efm32_i2c_probe() 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 Acked-by: Uwe Kleine-König Signed-off-by: Wolfram Sang Fixes: 1b5b23718b84 ("i2c: efm32: new bus driver") Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/i2c/busses/i2c-efm32.c b/drivers/i2c/busses/i2c-efm32.c index 8eff62738877..e253598d764c 100644 --- a/drivers/i2c/busses/i2c-efm32.c +++ b/drivers/i2c/busses/i2c-efm32.c @@ -433,7 +433,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);