[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)
authorMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Mon, 8 Jun 2009 17:17:31 +0000 (13:17 -0400)
committerDave Jones <davej@redhat.com>
Tue, 1 Sep 2009 16:45:18 +0000 (12:45 -0400)
commit395913d0b1db37092ea3d9d69b832183b1dd84c5
tree2b1aff8df27bfb02332ee4fe207a989244583c0a
parent0e625ac153126a0a62b7635fa9dc91f87ff39e38
[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)

remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)

commit 42a06f2166f2f6f7bf04f32b4e823eacdceafdc9

Missed a call site for CPUFREQ_GOV_STOP to remove the rwlock taken around the
teardown. To make a long story short, the rwlock write-lock causes a circular
dependency with cancel_delayed_work_sync(), because the timer handler takes the
read lock.

Note that all callers to __cpufreq_set_policy are taking the rwsem. All sysfs
callers (writers) hold the write rwsem at the earliest sysfs calling stage.

However, the rwlock write-lock is not needed upon governor stop.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
CC: rjw@sisk.pl
CC: mingo@elte.hu
CC: Shaohua Li <shaohua.li@intel.com>
CC: Pekka Enberg <penberg@cs.helsinki.fi>
CC: Dave Young <hidave.darkstar@gmail.com>
CC: "Rafael J. Wysocki" <rjw@sisk.pl>
CC: Rusty Russell <rusty@rustcorp.com.au>
CC: trenn@suse.de
CC: sven.wegener@stealer.net
CC: cpufreq@vger.kernel.org
Signed-off-by: Dave Jones <davej@redhat.com>
drivers/cpufreq/cpufreq.c