|
@@ -1762,17 +1762,8 @@ static int __cpufreq_set_policy(struct cpufreq_policy *data,
|
|
|
dprintk("governor switch\n");
|
|
|
|
|
|
/* end old governor */
|
|
|
- if (data->governor) {
|
|
|
- /*
|
|
|
- * Need to release the rwsem around governor
|
|
|
- * stop due to lock dependency between
|
|
|
- * cancel_delayed_work_sync and the read lock
|
|
|
- * taken in the delayed work handler.
|
|
|
- */
|
|
|
- unlock_policy_rwsem_write(data->cpu);
|
|
|
+ if (data->governor)
|
|
|
__cpufreq_governor(data, CPUFREQ_GOV_STOP);
|
|
|
- lock_policy_rwsem_write(data->cpu);
|
|
|
- }
|
|
|
|
|
|
/* start new governor */
|
|
|
data->governor = policy->governor;
|