• Viresh Kumar's avatar
    cpufreq: Mark policy->governor = NULL for inactive policies · 18bf3a12
    Viresh Kumar authored
    Later commits would change the way policies are managed today. Policies
    wouldn't be freed on cpu hotplug (currently they aren't freed on
    suspend), and while the CPU is offline, the sysfs cpufreq files would
    still be present.
    
    Because we don't mark policy->governor as NULL, it still contains
    pointer of the last used governor. And if the governor is removed, while
    all the CPUs of a policy are hotplugged out, this pointer wouldn't be
    valid anymore. And if we try to read the 'scaling_governor', etc.  from
    sysfs, it will result in kernel OOPs.
    
    To prevent this, mark policy->governor as NULL for all inactive policies
    while the governor is removed from kernel.
    Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    18bf3a12
cpufreq.c 65.9 KB