linux/drivers/cpufreq
Viresh Kumar 18bf3a124e cpufreq: Mark policy->governor = NULL for inactive policies
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: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2015-05-15 02:46:45 +02:00
..
acpi-cpufreq.c cpufreq: Use cpufreq_for_each_* macros for frequency table iteration 2014-04-30 00:06:21 +02:00
amd_freq_sensitivity.c
arm_big_little_dt.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
arm_big_little.c cpufreq: arm_big_little: remove compile-time dependency on BIG_LITTLE 2015-05-15 01:53:42 +02:00
arm_big_little.h cpufreq: arm_big_little: free OPP table created during ->init() 2014-12-02 00:01:24 +01:00
at32ap-cpufreq.c cpufreq: at32ap: don't declare local variable as static 2014-04-07 14:31:33 +02:00
blackfin-cpufreq.c cpufreq: Remove cpufreq_generic_exit() 2014-03-12 01:06:00 +01:00
cpufreq_conservative.c cpufreq: conservative: set requested_freq to policy max when it is over policy max 2013-11-12 23:18:20 +01:00
cpufreq_governor.c cpufreq: governor: remove copy_prev_load from 'struct cpu_dbs_common_info' 2014-06-09 12:58:21 +02:00
cpufreq_governor.h cpufreq: governor: remove copy_prev_load from 'struct cpu_dbs_common_info' 2014-06-09 12:58:21 +02:00
cpufreq_ondemand.c cpufreq: ondemand: Eliminate the deadband effect 2014-07-21 13:43:19 +02:00
cpufreq_opp.c cpufreq / OPP: Fix the order of arguments for kcalloc() 2014-09-08 00:02:58 +02:00
cpufreq_performance.c
cpufreq_powersave.c
cpufreq_stats.c cpufreq: stats: drop unnecessary locking 2015-01-23 23:06:45 +01:00
cpufreq_userspace.c cpufreq / governor: Remove fossil comment 2013-10-17 23:00:20 +02:00
cpufreq-dt.c cpufreq-dt: Drop unnecessary check before cpufreq_cooling_unregister() invocation 2015-02-03 23:28:37 +01:00
cpufreq-nforce2.c cpufreq: nforce2: remove DEFINE_PCI_DEVICE_TABLE macro 2014-05-17 01:16:15 +02:00
cpufreq.c cpufreq: Mark policy->governor = NULL for inactive policies 2015-05-15 02:46:45 +02:00
cris-artpec3-cpufreq.c cpufreq: create another field .flags in cpufreq_frequency_table 2014-04-07 14:43:50 +02:00
cris-etraxfs-cpufreq.c cpufreq: create another field .flags in cpufreq_frequency_table 2014-04-07 14:43:50 +02:00
davinci-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00
dbx500-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00
e_powersaver.c cpufreq: add 'freq_table' in struct cpufreq_policy 2014-03-12 01:06:00 +01:00
elanfreq.c cpufreq: Use cpufreq_for_each_* macros for frequency table iteration 2014-04-30 00:06:21 +02:00
exynos4x12-cpufreq.c cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' 2014-10-03 15:37:54 +02:00
exynos4210-cpufreq.c cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' 2014-10-03 15:37:54 +02:00
exynos5250-cpufreq.c cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' 2014-10-03 15:37:54 +02:00
exynos5440-cpufreq.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
exynos-cpufreq.c cpufreq: exynos: Use simple approach to asses if cpu cooling can be used 2015-03-02 10:04:52 +01:00
exynos-cpufreq.h ACPI and power management updates for 3.16-rc1 2014-06-04 08:57:16 -07:00
freq_table.c cpufreq: Introduce new relation for freq selection 2014-07-21 13:43:19 +02:00
gx-suspmod.c cpufreq: Convert existing drivers to use cpufreq_freq_transition_{begin|end} 2014-03-26 16:41:41 +01:00
highbank-cpufreq.c Merge branch 'mailbox-for-linus' of git://git.linaro.org/landing-teams/working/fujitsu/integration 2014-10-21 11:21:19 -07:00
hisi-acpu-cpufreq.c cpufreq: hisilicon: add acpu driver 2015-04-02 02:24:54 +02:00
ia64-acpi-cpufreq.c cpufreq: use kzalloc() to allocate memory for cpufreq_frequency_table 2014-04-07 14:43:49 +02:00
imx6q-cpufreq.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
integrator-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00
intel_pstate.c intel_pstate: set BYT MSR with wrmsrl_on_cpu() 2015-05-12 23:36:26 +02:00
Kconfig cpufreq: qoriq: rename the driver 2015-03-18 22:35:16 +01:00
Kconfig.arm cpufreq: arm_big_little: remove compile-time dependency on BIG_LITTLE 2015-05-15 01:53:42 +02:00
Kconfig.powerpc cpufreq: qoriq: rename the driver 2015-03-18 22:35:16 +01:00
Kconfig.x86 cpufreq: Add SFI based cpufreq driver support 2014-12-20 13:37:37 -05:00
kirkwood-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00
longhaul.c Update/Remove soon-to-be-dead email address 2014-12-19 12:56:15 -08:00
longhaul.h
longrun.c cpufreq: add new routine cpufreq_verify_within_cpu_limits() 2013-10-16 00:50:23 +02:00
loongson2_cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00
ls1x-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2015-01-23 22:19:15 +01:00
Makefile cpufreq: hisilicon: add acpu driver 2015-04-02 02:24:54 +02:00
maple-cpufreq.c cpufreq: create another field .flags in cpufreq_frequency_table 2014-04-07 14:43:50 +02:00
omap-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00
p4-clockmod.c cpufreq: create another field .flags in cpufreq_frequency_table 2014-04-07 14:43:50 +02:00
pasemi-cpufreq.c cpufreq: Use cpufreq_for_each_* macros for frequency table iteration 2014-04-30 00:06:21 +02:00
pcc-cpufreq.c cpufreq: pcc: Enable autoload of pcc-cpufreq for ACPI processors 2014-11-14 00:16:25 +01:00
pmac32-cpufreq.c powerpc: Remove powerpc specific cmd_line 2014-10-02 17:33:55 +10:00
pmac64-cpufreq.c of: Migrate of_find_node_by_name() users to for_each_node_by_name() 2014-06-26 17:12:24 +01:00
powernow-k6.c Update/Remove soon-to-be-dead email address 2014-12-19 12:56:15 -08:00
powernow-k7.c Update/Remove soon-to-be-dead email address 2014-12-19 12:56:15 -08:00
powernow-k7.h
powernow-k8.c cpufreq: powernow-k8: Suppress checkpatch warnings 2014-05-17 01:27:01 +02:00
powernow-k8.h cpufreq: powernow-k8: Suppress checkpatch warnings 2014-05-17 01:27:01 +02:00
powernv-cpufreq.c cpufreq: powernv: Report cpu frequency throttling 2015-04-01 23:02:24 +02:00
ppc_cbe_cpufreq_pervasive.c
ppc_cbe_cpufreq_pmi.c
ppc_cbe_cpufreq.c cpufreq: Use cpufreq_for_each_* macros for frequency table iteration 2014-04-30 00:06:21 +02:00
ppc_cbe_cpufreq.h
pxa2xx-cpufreq.c cpufreq: pxa: make pxa_freqs arrays const 2015-05-05 00:49:38 +02:00
pxa3xx-cpufreq.c cpufreq: Remove cpufreq_generic_exit() 2014-03-12 01:06:00 +01:00
qoriq-cpufreq.c cpufreq: fix qoriq uniprocessor build 2015-04-11 02:07:28 +02:00
s3c24xx-cpufreq-debugfs.c
s3c24xx-cpufreq.c cpufreq: s3c: remove last use of resume_clocks callback 2015-02-19 06:36:53 +01:00
s3c64xx-cpufreq.c cpufreq: Use cpufreq_for_each_* macros for frequency table iteration 2014-04-30 00:06:21 +02:00
s3c2410-cpufreq.c cpufreq: s3c24xx: Remove some dead code 2014-07-19 04:24:59 +09:00
s3c2412-cpufreq.c cpufreq: s3c24xx: Remove some dead code 2014-07-19 04:24:59 +09:00
s3c2416-cpufreq.c cpufreq: s3c: remove incorrect __init annotations 2015-02-19 06:36:53 +01:00
s3c2440-cpufreq.c cpufreq: s3c24xx: Remove some dead code 2014-07-19 04:24:59 +09:00
s5pv210-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00
sa1100-cpufreq.c cpufreq: Mark ARM drivers with CPUFREQ_NEED_INITIAL_FREQ_CHECK flag 2014-01-06 14:17:25 +01:00
sa1110-cpufreq.c cpufreq: sa1110: set memory type for h3600 2014-07-16 14:30:17 +02:00
sc520_freq.c cpufreq: create another field .flags in cpufreq_frequency_table 2014-04-07 14:43:50 +02:00
sfi-cpufreq.c cpufreq: Add SFI based cpufreq driver support 2014-12-20 13:37:37 -05:00
sh-cpufreq.c cpufreq: Convert existing drivers to use cpufreq_freq_transition_{begin|end} 2014-03-26 16:41:41 +01:00
sparc-us2e-cpufreq.c cpufreq: add 'freq_table' in struct cpufreq_policy 2014-03-12 01:06:00 +01:00
sparc-us3-cpufreq.c cpufreq: add 'freq_table' in struct cpufreq_policy 2014-03-12 01:06:00 +01:00
spear-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00
speedstep-centrino.c cpufreq: Make linux-pm@vger.kernel.org official mailing list 2014-05-01 01:15:32 +02:00
speedstep-ich.c Update/Remove soon-to-be-dead email address 2014-12-19 12:56:15 -08:00
speedstep-lib.c cpufreq: speedstep-smi: enable interrupts when waiting 2015-02-12 02:02:52 +01:00
speedstep-lib.h
speedstep-smi.c cpufreq: speedstep-smi: enable interrupts when waiting 2015-02-12 02:02:52 +01:00
tegra-cpufreq.c cpufreq: tegra: update comment for clarity 2014-06-10 22:50:50 +02:00
unicore2-cpufreq.c cpufreq: unicore32: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO 2014-04-21 23:42:27 +02:00
vexpress-spc-cpufreq.c cpufreq: drop owner assignment from platform_drivers 2014-10-20 16:20:24 +02:00