On Tue, 11 Feb 2014, Krzysztof Kozlowski wrote:

> During probe the driver allocates dummy I2C device for companion chip
> and then allocates a regmap for it. If regmap_init_i2c() fails then the
> I2C driver (allocated with i2c_new_dummy()) is not freed and this
> resource leaks.
> 
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> Cc: [email protected]
> ---
>  drivers/mfd/88pm860x-core.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c
> index e456be9a7c67..bcfc9e85b4a0 100644
> --- a/drivers/mfd/88pm860x-core.c
> +++ b/drivers/mfd/88pm860x-core.c
> @@ -1190,6 +1190,7 @@ static int pm860x_probe(struct i2c_client *client,
>                       ret = PTR_ERR(chip->regmap_companion);
>                       dev_err(&chip->companion->dev,
>                               "Failed to allocate register map: %d\n", ret);
> +                     i2c_unregister_device(chip->companion);
>                       return ret;
>               }
>               i2c_set_clientdata(chip->companion, chip);

Applied, thanks.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to