Commit 363434b5 authored by Guenter Roeck's avatar Guenter Roeck

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: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
Cc: stable@vger.kernel.org # 3.0+
Cc: Dirk Eibach <eibach@gdsys.de>
Acked-by: default avatarJean Delvare <khali@linux-fr.org>
parent 2f2da1ac
...@@ -271,7 +271,7 @@ static int ads1015_probe(struct i2c_client *client, ...@@ -271,7 +271,7 @@ static int ads1015_probe(struct i2c_client *client,
continue; continue;
err = device_create_file(&client->dev, &ads1015_in[k].dev_attr); err = device_create_file(&client->dev, &ads1015_in[k].dev_attr);
if (err) if (err)
goto exit_free; goto exit_remove;
} }
data->hwmon_dev = hwmon_device_register(&client->dev); data->hwmon_dev = hwmon_device_register(&client->dev);
...@@ -285,7 +285,6 @@ static int ads1015_probe(struct i2c_client *client, ...@@ -285,7 +285,6 @@ static int ads1015_probe(struct i2c_client *client,
exit_remove: exit_remove:
for (k = 0; k < ADS1015_CHANNELS; ++k) for (k = 0; k < ADS1015_CHANNELS; ++k)
device_remove_file(&client->dev, &ads1015_in[k].dev_attr); device_remove_file(&client->dev, &ads1015_in[k].dev_attr);
exit_free:
kfree(data); kfree(data);
exit: exit:
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment