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: upstream/snapshot3+hdmi~3142 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fb8be80b493d7c68ebbd528872fa799484b9adbc;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.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: Greg Kroah-Hartman --- diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c index e456be9..bcfc9e8 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);