summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuenter Roeck <guenter.roeck@ericsson.com>2012-02-22 08:13:52 -0800
committerGuenter Roeck <guenter.roeck@ericsson.com>2012-02-23 06:47:41 -0800
commit363434b5dc352464ac7601547891e5fc9105f124 (patch)
treea4e4a64e24089b59f718d2f2ab1458609a10847c
parent2f2da1ac0ba5b6cc6e1957c4da5ff20e67d8442b (diff)
downloadkernel-common-363434b5dc352464ac7601547891e5fc9105f124.tar.gz
kernel-common-363434b5dc352464ac7601547891e5fc9105f124.tar.bz2
kernel-common-363434b5dc352464ac7601547891e5fc9105f124.zip
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 eedca3cf9968..dd87ae96c262 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;