if (!fattr->store)
                return -EIO;
 
-       /*
-        * cpus_read_trylock() is used here to work around a circular lock
-        * dependency problem with respect to the cpufreq_register_driver().
-        */
-       if (!cpus_read_trylock())
-               return -EBUSY;
-
-       if (cpu_online(policy->cpu)) {
-               down_write(&policy->rwsem);
-               if (likely(!policy_is_inactive(policy)))
-                       ret = fattr->store(policy, buf, count);
-               up_write(&policy->rwsem);
-       }
-
-       cpus_read_unlock();
+       down_write(&policy->rwsem);
+       if (likely(!policy_is_inactive(policy)))
+               ret = fattr->store(policy, buf, count);
+       up_write(&policy->rwsem);
 
        return ret;
 }