summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuenter Roeck <guenter.roeck@ericsson.com>2012-02-22 16:13:52 (GMT)
committerGuenter Roeck <guenter.roeck@ericsson.com>2012-02-23 14:47:41 (GMT)
commit363434b5dc352464ac7601547891e5fc9105f124 (patch)
treea4e4a64e24089b59f718d2f2ab1458609a10847c
parent2f2da1ac0ba5b6cc6e1957c4da5ff20e67d8442b (diff)
downloadlinux-363434b5dc352464ac7601547891e5fc9105f124.tar.xz
hwmon: (ads1015) Fix file leak in probe function
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>
-rw-r--r--drivers/hwmon/ads1015.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/hwmon/ads1015.c b/drivers/hwmon/ads1015.c
index eedca3c..dd87ae9 100644
--- a/drivers/hwmon/ads1015.c
+++ b/drivers/hwmon/ads1015.c
@@ -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;