From: Laurentiu Tudor <[email protected]>
Make sure to free the i2c adapter on the error exit path.
Signed-off-by: Laurentiu Tudor <[email protected]>
---
drivers/i2c/busses/i2c-imx.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
index 42fed40198a0..2dfd33f48cd8 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:
--
2.17.1
On 3/29/2019 6:18 PM, [email protected] wrote:
> From: Laurentiu Tudor <[email protected]>
>
> Make sure to free the i2c adapter on the error exit path.
>
> Signed-off-by: Laurentiu Tudor <[email protected]>
Reviewed-by: Mukesh Ojha <[email protected]>
Cheers,
-Mukesh
> ---
> drivers/i2c/busses/i2c-imx.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
> index 42fed40198a0..2dfd33f48cd8 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:
On Fri, Mar 29, 2019 at 02:48:17PM +0200, [email protected] wrote:
> From: Laurentiu Tudor <[email protected]>
>
> Make sure to free the i2c adapter on the error exit path.
>
> Signed-off-by: Laurentiu Tudor <[email protected]>
> drivers/i2c/busses/i2c-imx.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
> index 42fed40198a0..2dfd33f48cd8 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);
Indention problem here, please remove the superflous space here.
Other than that:
Reviewed-by: Uwe Kleine-K?nig <[email protected]>
Fixes: e1ab9a468e3b ("i2c: imx: improve the error handling in i2c_imx_dma_request()")
Thanks
Uwe
> clk_notifier_unregister:
> clk_notifier_unregister(i2c_imx->clk, &i2c_imx->clk_change_nb);
> rpm_disable:
> --
> 2.17.1
>
>
>
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |