diff options
author | Guenter Roeck <guenter.roeck@ericsson.com> | 2012-02-22 17:13:52 +0100 |
---|---|---|
committer | Guenter Roeck <guenter.roeck@ericsson.com> | 2012-02-23 15:47:41 +0100 |
commit | 363434b5dc352464ac7601547891e5fc9105f124 (patch) | |
tree | a4e4a64e24089b59f718d2f2ab1458609a10847c | |
parent | hwmon: (max6639) Fix PPR register initialization to set both channels (diff) | |
download | linux-363434b5dc352464ac7601547891e5fc9105f124.tar.xz linux-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.c | 3 |
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; |