hwmon: (emc2103) Fix use of an uninitilized variable in error case
Fix: emc2103.c: In function set_pwm_enable: emc2103.c:463:12: warning: conf_reg may be used uninitialized in this function by checking the return value from read_u8_from_i2c(). This fixes a real problem, as conf_reg is really uninitialized if read_u8_from_i2c returns an error. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Robert Coulson <robert.coulson@ericsson.com> Acked-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
@@ -451,11 +451,15 @@ static ssize_t set_pwm_enable(struct device *dev, struct device_attribute *da,
|
|||||||
data->fan_rpm_control = true;
|
data->fan_rpm_control = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
mutex_unlock(&data->update_lock);
|
count = -EINVAL;
|
||||||
return -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)
|
if (data->fan_rpm_control)
|
||||||
conf_reg |= 0x80;
|
conf_reg |= 0x80;
|
||||||
@@ -463,7 +467,7 @@ static ssize_t set_pwm_enable(struct device *dev, struct device_attribute *da,
|
|||||||
conf_reg &= ~0x80;
|
conf_reg &= ~0x80;
|
||||||
|
|
||||||
i2c_smbus_write_byte_data(client, REG_FAN_CONF1, conf_reg);
|
i2c_smbus_write_byte_data(client, REG_FAN_CONF1, conf_reg);
|
||||||
|
err:
|
||||||
mutex_unlock(&data->update_lock);
|
mutex_unlock(&data->update_lock);
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user