From 27c4db3996ef0d27fb25e6991ebf6e507a920937 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Mon, 18 Jun 2012 22:37:13 -0700 Subject: [PATCH] hwmon: (acpi_power_meter) Cleanup and optimizations An unsigned value can not be smaller than 0. Remove the check for it. Use DIV_ROUND_CLOSEST for divide operations converting milli-degrees C into degrees C. Limit maximum accepted trip point temperature to INT_MAX. This patch fixes Coverity #115214: Unsigned compared against 0 Signed-off-by: Guenter Roeck Acked-by: Jean Delvare --- drivers/hwmon/acpi_power_meter.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c index 34ad5a27a7e9..9a0821f1c914 100644 --- a/drivers/hwmon/acpi_power_meter.c +++ b/drivers/hwmon/acpi_power_meter.c @@ -237,7 +237,7 @@ static ssize_t set_cap(struct device *dev, struct device_attribute *devattr, if (res) return res; - temp /= 1000; + temp = DIV_ROUND_CLOSEST(temp, 1000); if (temp > resource->caps.max_cap || temp < resource->caps.min_cap) return -EINVAL; arg0.integer.value = temp; @@ -307,8 +307,8 @@ static ssize_t set_trip(struct device *dev, struct device_attribute *devattr, if (res) return res; - temp /= 1000; - if (temp < 0) + temp = DIV_ROUND_CLOSEST(temp, 1000); + if (temp > INT_MAX) return -EINVAL; mutex_lock(&resource->lock);