• V
    cpufreq: Call __cpufreq_governor() with correct policy->cpus mask · e4969eba
    Viresh Kumar 提交于
    __cpufreq_governor() must be called with a correct policy->cpus mask.
    In __cpufreq_remove_dev() we initially clear policy->cpus with
    cpumask_clear_cpu() and then call
    __cpufreq_governor(policy, CPUFREQ_GOV_POLICY_EXIT). If the governor
    is doing some per-cpu stuff in EXIT callback, this can create
    uncertain behavior.
    
    Generic governors in drivers/cpufreq/ doesn't do any per-cpu stuff
    in EXIT callback and so we don't face any issues currently. But its
    better to keep the code clean, so we don't face any issues in future.
    
    Now, we call cpumask_clear_cpu() only when multiple cpus are managed
    by policy.
    Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    e4969eba
cpufreq.c 52.8 KB