down_read(&policy->rwsem);
ret = fattr->show(policy, buf);
up_read(&policy->rwsem);
-@@ -1107,6 +1110,9 @@ static void cpufreq_policy_put_kobj(stru
- up_write(&policy->rwsem);
- kobject_put(kobj);
+@@ -889,6 +892,9 @@ static ssize_t store(struct kobject *kob
+ struct freq_attr *fattr = to_attr(attr);
+ ssize_t ret = -EINVAL;
+ if (!fattr->store)
+ return -EIO;
+
- /*
- * We need to make sure that the underlying kobj is
- * actually not referenced anymore by anybody before we
+ get_online_cpus();
+
+ if (cpu_online(policy->cpu)) {