The show() and store() routines in the cpufreq-governor core don't need
to check if the struct governor_attr they want to use really provides
the callbacks they need as expected (if that's not the case, it means a
bug in the code anyway), so change them to avoid doing that.

Also change the error value to -EBUSY, if the governor is getting
removed and we aren't allowed to store any more changes.

Signed-off-by: Viresh Kumar <[email protected]>
---
 drivers/cpufreq/cpufreq_governor.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/cpufreq/cpufreq_governor.c 
b/drivers/cpufreq/cpufreq_governor.c
index aeb5ad81d869..528cd7a49398 100644
--- a/drivers/cpufreq/cpufreq_governor.c
+++ b/drivers/cpufreq/cpufreq_governor.c
@@ -125,12 +125,8 @@ static ssize_t governor_show(struct kobject *kobj, struct 
attribute *attr,
 {
        struct dbs_data *dbs_data = to_dbs_data(kobj);
        struct governor_attr *gattr = to_gov_attr(attr);
-       int ret = -EIO;
 
-       if (gattr->show)
-               ret = gattr->show(dbs_data, buf);
-
-       return ret;
+       return gattr->show(dbs_data, buf);
 }
 
 static ssize_t governor_store(struct kobject *kobj, struct attribute *attr,
@@ -138,11 +134,11 @@ static ssize_t governor_store(struct kobject *kobj, 
struct attribute *attr,
 {
        struct dbs_data *dbs_data = to_dbs_data(kobj);
        struct governor_attr *gattr = to_gov_attr(attr);
-       int ret = -EIO;
+       int ret = -EBUSY;
 
        mutex_lock(&dbs_data->mutex);
 
-       if (dbs_data->usage_count && gattr->store)
+       if (dbs_data->usage_count)
                ret = gattr->store(dbs_data, buf, count);
 
        mutex_unlock(&dbs_data->mutex);
-- 
2.7.1.410.g6faf27b

Reply via email to