From 131737787a2ccc0f941c4ce446d7d13324c28279 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Sun, 14 Apr 2013 04:39:46 -0700 Subject: [PATCH] --- yaml --- r: 363075 b: refs/heads/master c: 8eb6d90fec24244f80bba018d955413ea6117a34 h: refs/heads/master i: 363073: fa519877ba53ca1646a879c1fc6d534dced8c0df 363071: 8d30774094395e0e9809040cf18fcbcdd3eb4597 v: v3 --- [refs] | 2 +- trunk/drivers/hwmon/tmp401.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 5fb959ad8691..a8522ec88f1d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 14f2a6654dd42d60645071de26d17d0bced63a7d +refs/heads/master: 8eb6d90fec24244f80bba018d955413ea6117a34 diff --git a/trunk/drivers/hwmon/tmp401.c b/trunk/drivers/hwmon/tmp401.c index 4d306b29ba71..061146288e41 100644 --- a/trunk/drivers/hwmon/tmp401.c +++ b/trunk/drivers/hwmon/tmp401.c @@ -351,6 +351,8 @@ static ssize_t store_temp_crit_hyst(struct device *dev, struct device_attribute static ssize_t reset_temp_history(struct device *dev, struct device_attribute *devattr, const char *buf, size_t count) { + struct i2c_client *client = to_i2c_client(dev); + struct tmp401_data *data = i2c_get_clientdata(client); long val; if (kstrtol(buf, 10, &val)) @@ -362,8 +364,10 @@ static ssize_t reset_temp_history(struct device *dev, val); return -EINVAL; } - i2c_smbus_write_byte_data(to_i2c_client(dev), - TMP401_TEMP_MSB_WRITE[5][0], val); + mutex_lock(&data->update_lock); + i2c_smbus_write_byte_data(client, TMP401_TEMP_MSB_WRITE[5][0], val); + data->valid = 0; + mutex_unlock(&data->update_lock); return count; }