diff --git a/drivers/hwmon/mcp9982.c b/drivers/hwmon/mcp9982.c index 3918dc36c946..2cd41dcbd9af 100644 --- a/drivers/hwmon/mcp9982.c +++ b/drivers/hwmon/mcp9982.c @@ -624,6 +624,7 @@ static int mcp9982_write(struct device *dev, enum hwmon_sensor_types type, u32 a { struct mcp9982_priv *priv = dev_get_drvdata(dev); unsigned int idx; + int ret; u8 addr; switch (type) { @@ -640,9 +641,13 @@ static int mcp9982_write(struct device *dev, enum hwmon_sensor_types type, u32 a idx = find_closest_descending(val, mcp9982_update_interval, ARRAY_SIZE(mcp9982_update_interval)); + ret = regmap_write(priv->regmap, MCP9982_CONV_ADDR, idx); + if (ret) + return ret; + priv->interval_idx = idx; - return regmap_write(priv->regmap, MCP9982_CONV_ADDR, idx); + return 0; default: return -EINVAL; }