diff options
-rw-r--r-- | drivers/cpufreq/cpufreq.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 644b54e1e7d1..0721ab352e2a 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c | |||
@@ -535,7 +535,7 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy, | |||
535 | static ssize_t store_##file_name \ | 535 | static ssize_t store_##file_name \ |
536 | (struct cpufreq_policy *policy, const char *buf, size_t count) \ | 536 | (struct cpufreq_policy *policy, const char *buf, size_t count) \ |
537 | { \ | 537 | { \ |
538 | int ret; \ | 538 | int ret, temp; \ |
539 | struct cpufreq_policy new_policy; \ | 539 | struct cpufreq_policy new_policy; \ |
540 | \ | 540 | \ |
541 | ret = cpufreq_get_policy(&new_policy, policy->cpu); \ | 541 | ret = cpufreq_get_policy(&new_policy, policy->cpu); \ |
@@ -546,8 +546,10 @@ static ssize_t store_##file_name \ | |||
546 | if (ret != 1) \ | 546 | if (ret != 1) \ |
547 | return -EINVAL; \ | 547 | return -EINVAL; \ |
548 | \ | 548 | \ |
549 | temp = new_policy.object; \ | ||
549 | ret = cpufreq_set_policy(policy, &new_policy); \ | 550 | ret = cpufreq_set_policy(policy, &new_policy); \ |
550 | policy->user_policy.object = policy->object; \ | 551 | if (!ret) \ |
552 | policy->user_policy.object = temp; \ | ||
551 | \ | 553 | \ |
552 | return ret ? ret : count; \ | 554 | return ret ? ret : count; \ |
553 | } | 555 | } |