hwmon: (ads1015) Fix file leak in probe function
authorGuenter Roeck <guenter.roeck@ericsson.com>
Wed, 22 Feb 2012 16:13:52 +0000 (08:13 -0800)
committerGuenter Roeck <guenter.roeck@ericsson.com>
Thu, 23 Feb 2012 14:47:41 +0000 (06:47 -0800)
An error while creating sysfs attribute files in the driver's probe function
results in an error abort, but already created files are not removed. This patch
fixes the problem.

Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Cc: stable@vger.kernel.org # 3.0+
Cc: Dirk Eibach <eibach@gdsys.de>
Acked-by: Jean Delvare <khali@linux-fr.org>
drivers/hwmon/ads1015.c

index eedca3cf996889e5b9633c05656d58343f13a427..dd87ae96c2625cb8a93329fcfa672d5678f9e3a8 100644 (file)
@@ -271,7 +271,7 @@ static int ads1015_probe(struct i2c_client *client,
                        continue;
                err = device_create_file(&client->dev, &ads1015_in[k].dev_attr);
                if (err)
-                       goto exit_free;
+                       goto exit_remove;
        }
 
        data->hwmon_dev = hwmon_device_register(&client->dev);
@@ -285,7 +285,6 @@ static int ads1015_probe(struct i2c_client *client,
 exit_remove:
        for (k = 0; k < ADS1015_CHANNELS; ++k)
                device_remove_file(&client->dev, &ads1015_in[k].dev_attr);
-exit_free:
        kfree(data);
 exit:
        return err;