aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorGuenter Roeck <guenter.roeck@ericsson.com>2012-02-22 08:13:52 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-29 16:33:38 -0800
commit8507fb05c966cdd3a808bb267d2595a41db87512 (patch)
tree1a2eb3386401fed0d86934f491651be515c758f3 /drivers/hwmon
parent5774b2eec1698c9647162a52431e514d6628471f (diff)
downloadkernel_samsung_smdk4412-8507fb05c966cdd3a808bb267d2595a41db87512.zip
kernel_samsung_smdk4412-8507fb05c966cdd3a808bb267d2595a41db87512.tar.gz
kernel_samsung_smdk4412-8507fb05c966cdd3a808bb267d2595a41db87512.tar.bz2
hwmon: (ads1015) Fix file leak in probe function
commit 363434b5dc352464ac7601547891e5fc9105f124 upstream. 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: Dirk Eibach <eibach@gdsys.de> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hwmon')
-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 e9beeda..9a5af38 100644
--- a/drivers/hwmon/ads1015.c
+++ b/drivers/hwmon/ads1015.c
@@ -284,7 +284,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);
@@ -298,7 +298,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;