summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2016-07-25 23:56:00 +0200
committerGuenter Roeck <linux@roeck-us.net>2016-08-01 00:02:51 +0200
commit90e2b545ce78516e727ba641e9f2b0703a17da1a (patch)
tree200bdfd4695481acc2f1de856ab126571f3a1f88 /drivers/hwmon
parenthwmon: (lm90) Improve error handling (diff)
downloadlinux-90e2b545ce78516e727ba641e9f2b0703a17da1a.tar.xz
linux-90e2b545ce78516e727ba641e9f2b0703a17da1a.zip
hwmon: (lm75) Improve error handling
Use devm_add_action_or_reset() instead of devm_add_action(), and check its return value. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r--drivers/hwmon/lm75.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
index 547a9c87c68c..92f9d4bbf597 100644
--- a/drivers/hwmon/lm75.c
+++ b/drivers/hwmon/lm75.c
@@ -220,7 +220,7 @@ lm75_probe(struct i2c_client *client, const struct i2c_device_id *id)
struct device *dev = &client->dev;
struct device *hwmon_dev;
struct lm75_data *data;
- int status;
+ int status, err;
u8 set_mask, clr_mask;
int new;
enum lm75_type kind = id->driver_data;
@@ -331,7 +331,9 @@ lm75_probe(struct i2c_client *client, const struct i2c_device_id *id)
if (status != new)
i2c_smbus_write_byte_data(client, LM75_REG_CONF, new);
- devm_add_action(dev, lm75_remove, data);
+ err = devm_add_action_or_reset(dev, lm75_remove, data);
+ if (err)
+ return err;
dev_dbg(dev, "Config %02x\n", new);