summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTodd Poynor <toddpoynor@google.com>2010-12-23 17:33:07 -0800
committerTodd Poynor <toddpoynor@google.com>2011-01-04 15:49:10 -0800
commit35a0841bb89837e1d3551acb4b0c5510b778d1be (patch)
tree9eaa93c2b8ca3c1c0e2807971a2ec94541f85e20 /arch
parent4e5206fb786eba459f317b9386d2b3767f0bf50d (diff)
cpufreq interactive governor: fix crash on CPU shutdown
Don't reference the saved copy of the CPU's cpufreq policy pointer after the governor has been stopped for the CPU. When the governor is stopped for a CPU: * Use del_timer_sync() to wait for a currently-running timer function to stop. * Delete the timer when the governor is stopped for the associated CPU, not when the last CPU is stopped. * Flush any speed down work ongoing. * Reset the timestamp that is used to tell if the timer function has had a chance to run since last idle exit. Check the governor enabled flag for the CPU before re-arming the timer from within the timer function and at idle exit (in case stopping the governor at runtime). Check the governor enabled flag for the CPU in the worker function and thread before using the policy pointer. (There is still a tiny window in the thread that needs more work to close.) Change-Id: Ifaddf7a495a8dae15a579a57bdc654f7c47f6ada Signed-off-by: Todd Poynor <toddpoynor@google.com>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions