diff options
author | Laurentiu Tudor <laurentiu.tudor@nxp.com> | 2019-04-01 12:14:37 +0200 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2019-04-06 17:54:28 +0200 |
commit | 3ace6891ce8bb9e1267358cb58f93b4fd8b72b69 (patch) | |
tree | 246699176d38baddbdb461c110e4ed0a66a1cc0f /drivers/i2c | |
parent | Linux 5.1-rc3 (diff) | |
download | linux-3ace6891ce8bb9e1267358cb58f93b4fd8b72b69.tar.xz linux-3ace6891ce8bb9e1267358cb58f93b4fd8b72b69.zip |
i2c: imx: don't leak the i2c adapter on error
Make sure to free the i2c adapter on the error exit path.
Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fixes: e1ab9a468e3b ("i2c: imx: improve the error handling in i2c_imx_dma_request()")
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-imx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c index 42fed40198a0..c0c3043b5d61 100644 --- a/drivers/i2c/busses/i2c-imx.c +++ b/drivers/i2c/busses/i2c-imx.c @@ -1169,11 +1169,13 @@ static int i2c_imx_probe(struct platform_device *pdev) /* Init DMA config if supported */ ret = i2c_imx_dma_request(i2c_imx, phy_addr); if (ret < 0) - goto clk_notifier_unregister; + goto del_adapter; dev_info(&i2c_imx->adapter.dev, "IMX I2C adapter registered\n"); return 0; /* Return OK */ +del_adapter: + i2c_del_adapter(&i2c_imx->adapter); clk_notifier_unregister: clk_notifier_unregister(i2c_imx->clk, &i2c_imx->clk_change_nb); rpm_disable: |