|
@@ -535,7 +535,7 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy,
|
|
|
static ssize_t store_##file_name \
|
|
|
(struct cpufreq_policy *policy, const char *buf, size_t count) \
|
|
|
{ \
|
|
|
- int ret; \
|
|
|
+ int ret, temp; \
|
|
|
struct cpufreq_policy new_policy; \
|
|
|
\
|
|
|
ret = cpufreq_get_policy(&new_policy, policy->cpu); \
|
|
@@ -546,8 +546,10 @@ static ssize_t store_##file_name \
|
|
|
if (ret != 1) \
|
|
|
return -EINVAL; \
|
|
|
\
|
|
|
+ temp = new_policy.object; \
|
|
|
ret = cpufreq_set_policy(policy, &new_policy); \
|
|
|
- policy->user_policy.object = policy->object; \
|
|
|
+ if (!ret) \
|
|
|
+ policy->user_policy.object = temp; \
|
|
|
\
|
|
|
return ret ? ret : count; \
|
|
|
}
|