Geert Uytterhoeven
c81407fe57
cpufreq: cpufreq-dt: Restore default cpumask_setall(policy->cpus)
...
Commit 34e5a5273d ("cpufreq: cpufreq-dt: extend with
platform_data") changed cpufreq_init() to only call
cpumask_setall(policy->cpus) if the platform data indicates that all
CPUs share the same clock. Before, cpufreq_generic_init() did this
unconditionally.
This causes a crash on r8a7791/koelsch when resuming from s2ram:
Enabling non-boot CPUs ...
CPU1: Booted secondary processor
Unable to handle kernel NULL pointer dereference at virtual address 0000003c
pgd = ee71f980
[0000003c] *pgd=6eeb6003, *pmd=6e0e9003, *pte=00000000
Internal error: Oops: a07 [#1 ] SMP ARM
Modules linked in:
CPU: 0 PID: 1397 Comm: s2ram Tainted: G W 3.18.0-rc2-koelsch-00762-g7eed2a4e61d2d978 #581
task: ee6b76c0 ti: ee7f0000 task.ti: ee7f0000
PC is at __cpufreq_add_dev.isra.24+0x24c/0x77c
LR is at __cpufreq_add_dev.isra.24+0x244/0x77c
pc : [<c029e084>] lr : [<c029e07c>] psr: 60000153
sp : ee7f1d48 ip : ee7f1d48 fp : ee7f1d84
r10: c04e8448 r9 : 00000000 r8 : 00000001
r7 : c054a8c4 r6 : 00000001 r5 : 00000001 r4 : 00000000
r3 : 00000000 r2 : 00000000 r1 : 20000153 r0 : c054a950
Flags: nZCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment user
Control: 30c5307d Table: 6e71f980 DAC: fffffffd
Process s2ram (pid: 1397, stack limit = 0xee7f0240)
...
Backtrace:
[<c029de38>] (__cpufreq_add_dev.isra.24) from [<c029e620>] (cpufreq_cpu_callback+0x6c/0x74)
r10:eec75240 r9:c04e8448 r8:c04ef3a0 r7:00000001 r6:00000012 r5:00000000
r4:00000012
[<c029e5b4>] (cpufreq_cpu_callback) from [<c003f20c>] (notifier_call_chain+0x48/0x70)
r4:ffffffdd r3:c029e5b4
[<c003f1c4>] (notifier_call_chain) from [<c003f2cc>] (__raw_notifier_call_chain+0x1c/0x24)
r8:00000001 r7:00000010 r6:00000000 r5:00000000 r4:00000012 r3:ffffffff
[<c003f2b0>] (__raw_notifier_call_chain) from [<c0026a00>] (__cpu_notify+0x34/0x50)
[<c00269cc>] (__cpu_notify) from [<c0026a34>] (cpu_notify+0x18/0x1c)
r4:00000001
[<c0026a1c>] (cpu_notify) from [<c0026c44>] (_cpu_up+0x108/0x144)
[<c0026b3c>] (_cpu_up) from [<c0381c68>] (enable_nonboot_cpus+0x68/0xb8)
r10:00000000 r9:c04e8ee6 r8:00000000 r7:00000003 r6:c04e8528 r5:c0506248
r4:00000001
[<c0381c00>] (enable_nonboot_cpus) from [<c0059038>] (suspend_devices_and_enter+0x29c/0x3e8)
r6:c0506e70 r5:00000000 r4:00000000 r3:60000153
Restore the old default of calling cpumask_setall(policy->cpus) if no
platform data is available to fix this.
Fixes: 34e5a5273d (cpufreq: cpufreq-dt: extend with platform_data)
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2014-10-27 23:27:35 +01: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.c
cpufreq: arm_big_little: fix module license spec
2014-08-09 02:43:33 +02:00
arm_big_little.h
cpufreq: arm_big_little: add in-kernel switching (IKS) support
2013-10-31 00:10:53 +01:00
arm_big_little_dt.c
cpufreq: arm_big_little: fix module license spec
2014-08-09 02:43:33 +02: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-dt.c
cpufreq: cpufreq-dt: Restore default cpumask_setall(policy->cpus)
2014-10-27 23:27:35 +01:00
cpufreq-nforce2.c
cpufreq: nforce2: remove DEFINE_PCI_DEVICE_TABLE macro
2014-05-17 01:16:15 +02:00
cpufreq.c
cpufreq: expose scaling_cur_freq sysfs file for set_policy() drivers
2014-10-23 22:59:59 +02: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: Use cpufreq_for_each_* macros for frequency table iteration
2014-04-30 00:06:21 +02:00
cpufreq_userspace.c
cpufreq / governor: Remove fossil comment
2013-10-17 23:00:20 +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: Remove cpufreq_generic_exit()
2014-03-12 01:06:00 +01:00
dbx500-cpufreq.c
cpufreq: Use cpufreq_for_each_* macros for frequency table iteration
2014-04-30 00:06:21 +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
exynos-cpufreq.c
ACPI and power management updates for 3.16-rc1
2014-06-04 08:57:16 -07:00
exynos-cpufreq.h
ACPI and power management updates for 3.16-rc1
2014-06-04 08:57:16 -07: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
cpufreq: Use cpufreq_for_each_* macros for frequency table iteration
2014-04-30 00:06:21 +02: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
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
cpufreq: imx6: remove pu regulator dependency for SOCs with no PU regulator
2014-07-21 13:43:19 +02:00
integrator-cpufreq.c
cpufreq: integrator: fix integrator_cpufreq_remove return type
2014-09-29 15:36:03 +02:00
intel_pstate.c
intel_pstate: Correct BYT VID values.
2014-10-23 23:00:00 +02:00
Kconfig
cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'
2014-10-03 15:37:54 +02:00
Kconfig.arm
ACPI and power management updates for 3.18-rc1
2014-10-09 16:07:43 -04:00
Kconfig.powerpc
cpufreq: powernv: cpufreq driver for powernv platform
2014-04-07 14:35:27 +02:00
Kconfig.x86
cpufreq: Kconfig: Fix spelling errors
2014-05-01 01:18:19 +02:00
kirkwood-cpufreq.c
cpufreq: kirkwood: use the powersave multiplexer
2014-09-02 15:02:54 -07:00
longhaul.c
Merge branch 'cpufreq-macros' into pm-cpufreq
2014-05-01 00:50:47 +02:00
longhaul.h
longrun.c
loongson2_cpufreq.c
MIPS: Loongson: Modify ChipConfig register definition
2014-07-30 21:46:00 +02:00
Makefile
cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'
2014-10-03 15:37: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: add 'freq_table' in struct cpufreq_policy
2014-03-12 01:06:00 +01: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-cpufreq: Fix wait_event() under spinlock
2014-09-29 15:35:50 +02: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
powernow-k6: support 350MHz CPU
2014-07-21 13:43:19 +02:00
powernow-k7.c
cpufreq: powernow-k7: Fix double invocation of cpufreq_freq_transition_begin/end
2014-04-29 01:22:54 +02: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: Set the cpus to nominal frequency during reboot/kexec
2014-09-29 15:53:04 +02:00
ppc-corenet-cpufreq.c
cpufreq: ppc-corenet: remove duplicate update of cpu_data
2014-09-30 21:09:40 +02:00
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
ppc_cbe_cpufreq_pervasive.c
ppc_cbe_cpufreq_pmi.c
pxa2xx-cpufreq.c
cpufreq: Remove cpufreq_generic_exit()
2014-03-12 01:06:00 +01:00
pxa3xx-cpufreq.c
cpufreq: Remove cpufreq_generic_exit()
2014-03-12 01:06:00 +01:00
s3c24xx-cpufreq-debugfs.c
s3c24xx-cpufreq.c
cpufreq: s3c24xx: Remove some dead code
2014-07-19 04:24:59 +09: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: Use cpufreq_for_each_* macros for frequency table iteration
2014-04-30 00:06:21 +02:00
s3c2440-cpufreq.c
cpufreq: s3c24xx: Remove some dead code
2014-07-19 04:24:59 +09:00
s5pv210-cpufreq.c
cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'
2014-10-03 15:37:54 +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
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: use kzalloc() to allocate memory for cpufreq_frequency_table
2014-04-07 14:43:49 +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
cpufreq: create another field .flags in cpufreq_frequency_table
2014-04-07 14:43:50 +02:00
speedstep-lib.c
speedstep-lib.h
speedstep-smi.c
cpufreq: speedstep-smi: fix decimal printf specifiers
2014-08-07 21:21:52 +02: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: arm_big_little: add vexpress SPC interface driver
2013-10-30 00:48:26 +01:00