From: Krzysztof Kozlowski Date: Tue, 11 Feb 2014 10:03:30 +0000 (+0100) Subject: mfd: 88pm860x: Fix I2C device resource leak on regmap init fail X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=a7ab1c8b261305af583ce26bb4a14f555fdaa73e;p=deliverable%2Flinux.git mfd: 88pm860x: Fix I2C device resource leak on regmap init fail 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. Cc: stable@vger.kernel.org Signed-off-by: Krzysztof Kozlowski Signed-off-by: Lee Jones --- diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c index c9b1f6422941..2461014a4ad5 100644 --- a/drivers/mfd/88pm860x-core.c +++ b/drivers/mfd/88pm860x-core.c @@ -1185,6 +1185,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);