From 8c550a70647def077b372ce8b70d9d909a14f6b5 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Sat, 2 Jun 2012 10:16:32 -0700 Subject: [PATCH] --- yaml --- r: 311179 b: refs/heads/master c: 2355375efdf10f43680d420023baa97796bfcdff h: refs/heads/master i: 311177: fa1273e9dc8d7ac0556a8084538b02d08b911e51 311175: f39e8e2a2e7a3de86299d29cc250bf8f2ff625bb v: v3 --- [refs] | 2 +- trunk/drivers/hwmon/emc2103.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 8813db2c614b..b62cd5202b4d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ac852edb47b15900886ba2564eeeb13b3b526e3e +refs/heads/master: 2355375efdf10f43680d420023baa97796bfcdff diff --git a/trunk/drivers/hwmon/emc2103.c b/trunk/drivers/hwmon/emc2103.c index 9691f664c76e..e7d234b59312 100644 --- a/trunk/drivers/hwmon/emc2103.c +++ b/trunk/drivers/hwmon/emc2103.c @@ -451,11 +451,15 @@ static ssize_t set_pwm_enable(struct device *dev, struct device_attribute *da, data->fan_rpm_control = true; break; default: - mutex_unlock(&data->update_lock); - return -EINVAL; + count = -EINVAL; + goto err; } - read_u8_from_i2c(client, REG_FAN_CONF1, &conf_reg); + result = read_u8_from_i2c(client, REG_FAN_CONF1, &conf_reg); + if (result) { + count = result; + goto err; + } if (data->fan_rpm_control) conf_reg |= 0x80; @@ -463,7 +467,7 @@ static ssize_t set_pwm_enable(struct device *dev, struct device_attribute *da, conf_reg &= ~0x80; i2c_smbus_write_byte_data(client, REG_FAN_CONF1, conf_reg); - +err: mutex_unlock(&data->update_lock); return count; }