drivers: cpuquiet: Fix runnable gov device_busy
authorSai Gurrappadi <sgurrappadi@nvidia.com>
Tue, 13 May 2014 21:50:09 +0000 (14:50 -0700)
committerHuang, Tao <huangtao@rock-chips.com>
Mon, 18 May 2015 08:07:12 +0000 (16:07 +0800)
commit336b58f94a79f653c0b7826aa7cd145aa5fba5b5
tree2f485576b8b43b496249a0d80285274934966236
parentb9cd6df05385341b4aaed46bcdf42203754d8048
drivers: cpuquiet: Fix runnable gov device_busy

On device_busy, the runnable governor stops its sample timer and cancels
any queued runnable_work. However, it is possible for the cpuquiet
platform driver to call device_busy on cpuquiet_quiesence/wake_cpu calls
which can be invoked from the queued runnable_worker thread. This will
lead to the runnable_worker thread waiting infinitely on it self
finishing in cancel_work_sync.

Fix this by removing the cancel_work_sync call as it isn't necessary
because the worker doesn't requeue it self. Stopping the timer is
sufficient.

Bug 200002511

Change-Id: Ic69061b12d4dbb96b259ed9b62a0475271bd36d0
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
(cherry picked from commit b9a2a2cfa91d14935fdef626517d738399af4e4d)
Reviewed-on: http://git-master/r/415315
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Reviewed-by: Kerwin Wan <kerwinw@nvidia.com>
drivers/cpuquiet/governors/runnable_threads.c