Skip to content

Commit

Permalink
hwmon: (lm75) added error handling
Browse files Browse the repository at this point in the history
Add error handling so if lm75_update_device fails
an error is returned when reading the value through sysfs.
This is closely modeled after the way this is handled in ltc4261.

Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
  • Loading branch information
Frans Meulenbroeks authored and Guenter Roeck committed Jan 5, 2012
1 parent aac9fe9 commit 1f962f3
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions drivers/hwmon/lm75.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,10 @@ static ssize_t show_temp(struct device *dev, struct device_attribute *da,
{
struct sensor_device_attribute *attr = to_sensor_dev_attr(da);
struct lm75_data *data = lm75_update_device(dev);

if (IS_ERR(data))
return PTR_ERR(data);

return sprintf(buf, "%d\n",
LM75_TEMP_FROM_REG(data->temp[attr->index]));
}
Expand Down Expand Up @@ -402,6 +406,7 @@ static struct lm75_data *lm75_update_device(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct lm75_data *data = i2c_get_clientdata(client);
struct lm75_data *ret = data;

mutex_lock(&data->update_lock);

Expand All @@ -414,19 +419,23 @@ static struct lm75_data *lm75_update_device(struct device *dev)
int status;

status = lm75_read_value(client, LM75_REG_TEMP[i]);
if (status < 0)
dev_dbg(&client->dev, "reg %d, err %d\n",
LM75_REG_TEMP[i], status);
else
data->temp[i] = status;
if (unlikely(status < 0)) {
dev_dbg(dev,
"LM75: Failed to read value: reg %d, error %d\n",
LM75_REG_TEMP[i], status);
ret = ERR_PTR(status);
data->valid = 0;
goto abort;
}
data->temp[i] = status;
}
data->last_updated = jiffies;
data->valid = 1;
}

abort:
mutex_unlock(&data->update_lock);

return data;
return ret;
}

/*-----------------------------------------------------------------------*/
Expand Down

0 comments on commit 1f962f3

Please sign in to comment.