Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit accd8466 authored by Andrej Gelenberg's avatar Andrej Gelenberg Committed by Dave Jones
Browse files

[CPUFREQ] revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)"

395913d0 ("[CPUFREQ] remove rwsem lock
from CPUFREQ_GOV_STOP call (second call site)") is not needed, because
there is no rwsem lock in cpufreq_ondemand and cpufreq_conservative
anymore.  Lock should not be released until the work done.

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=1594



Signed-off-by: default avatarAndrej Gelenberg <andrej.gelenberg@udo.edu>
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Acked-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: default avatarDave Jones <davej@redhat.com>
parent dbbe4649
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -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;