mfd: tps65910: Fix regmap_irq_chip_data leak on mfd_add_devices fail
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Wed, 12 Mar 2014 15:50:45 +0000 (16:50 +0100)
committerLee Jones <lee.jones@linaro.org>
Wed, 19 Mar 2014 09:06:10 +0000 (09:06 +0000)
The tps65910_i2c_probe() allocates regmap_irq_chip in
tps65910_irq_init() but it does not clean this up in case of
mfd_add_devices() failure.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/tps65910.c

index d6573318977fc3023513b4807658eb9a0714e3db..460a014ca6291fa10468f984123a3e160c4964ea 100644 (file)
@@ -511,6 +511,7 @@ static int tps65910_i2c_probe(struct i2c_client *i2c,
                              regmap_irq_get_domain(tps65910->irq_data));
        if (ret < 0) {
                dev_err(&i2c->dev, "mfd_add_devices failed: %d\n", ret);
+               tps65910_irq_exit(tps65910);
                return ret;
        }