down_read(&policy->rwsem);
ret = fattr->show(policy, buf);
up_read(&policy->rwsem);
-@@ -1139,6 +1142,9 @@ static void cpufreq_policy_put_kobj(stru
- up_write(&policy->rwsem);
- kobject_put(kobj);
+@@ -925,6 +928,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
+ cpus_read_lock();
+
+ if (cpu_online(policy->cpu)) {