summaryrefslogtreecommitdiff
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorAllen Martin <amartin@nvidia.com>2011-06-30 16:59:19 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:38:51 -0800
commita7c29e35d3c78f9180eeedf9a740479a5f50aa5a (patch)
tree6b665f63b6bb7d8bc3333bea2dabbb4502ff87df /drivers/cpufreq
parent841212573f95bb02a1b447211300fd9b31e5fa80 (diff)
cpufreq: interactive: Add error checking on sysfs interfaces
This adds better error checking on tunable parameters on sysfs interfaces. Also fixes return value from these functions, previously on success they would return 0 which would cause a infinite loop. Change-Id: Ic05038492166f8673d007202092471f98a2f0dfa Signed-off-by: Allen Martin <amartin@nvidia.com>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r--drivers/cpufreq/cpufreq_interactive.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/cpufreq/cpufreq_interactive.c b/drivers/cpufreq/cpufreq_interactive.c
index 9100c3b6adf5..fe20e3142c6e 100644
--- a/drivers/cpufreq/cpufreq_interactive.c
+++ b/drivers/cpufreq/cpufreq_interactive.c
@@ -394,7 +394,14 @@ static ssize_t show_go_maxspeed_load(struct kobject *kobj,
static ssize_t store_go_maxspeed_load(struct kobject *kobj,
struct attribute *attr, const char *buf, size_t count)
{
- return strict_strtoul(buf, 0, &go_maxspeed_load);
+ int ret;
+ unsigned long val;
+
+ ret = strict_strtoul(buf, 0, &val);
+ if (ret < 0)
+ return ret;
+ go_maxspeed_load = val;
+ return count;
}
static struct global_attr go_maxspeed_load_attr = __ATTR(go_maxspeed_load, 0644,
@@ -409,7 +416,14 @@ static ssize_t show_min_sample_time(struct kobject *kobj,
static ssize_t store_min_sample_time(struct kobject *kobj,
struct attribute *attr, const char *buf, size_t count)
{
- return strict_strtoul(buf, 0, &min_sample_time);
+ int ret;
+ unsigned long val;
+
+ ret = strict_strtoul(buf, 0, &val);
+ if (ret < 0)
+ return ret;
+ min_sample_time = val;
+ return count;
}
static struct global_attr min_sample_time_attr = __ATTR(min_sample_time, 0644,