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-Tag: v3.12.20~147 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=eda6a2312bdf4d4a7f7f4fbe60641aca1313c5b8;p=thirdparty%2Fkernel%2Fstable.git mfd: 88pm860x: Fix I2C device resource leak on regmap init fail commit a7ab1c8b261305af583ce26bb4a14f555fdaa73e upstream. 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 Signed-off-by: Lee Jones Signed-off-by: Jiri Slaby --- diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c index 675f96b37643f..a141b460697df 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);