linux/drivers/cpufreq
Stephen Boyd 6932078376 cpufreq: Don't use smp_processor_id() in preemptible context
Workqueues are preemptible even if works are queued on them with
queue_work_on(). Let's use raw_smp_processor_id() here to silence
the warning.

BUG: using smp_processor_id() in preemptible [00000000] code: kworker/3:2/674
caller is gov_queue_work+0x28/0xb0
CPU: 0 PID: 674 Comm: kworker/3:2 Tainted: G        W    3.10.0 #30
Workqueue: events od_dbs_timer
[<c010c178>] (unwind_backtrace+0x0/0x11c) from [<c0109dec>] (show_stack+0x10/0x14)
[<c0109dec>] (show_stack+0x10/0x14) from [<c03885a4>] (debug_smp_processor_id+0xbc/0xf0)
[<c03885a4>] (debug_smp_processor_id+0xbc/0xf0) from [<c0635864>] (gov_queue_work+0x28/0xb0)
[<c0635864>] (gov_queue_work+0x28/0xb0) from [<c0635618>] (od_dbs_timer+0x108/0x134)
[<c0635618>] (od_dbs_timer+0x108/0x134) from [<c01aa8f8>] (process_one_work+0x25c/0x444)
[<c01aa8f8>] (process_one_work+0x25c/0x444) from [<c01aaf88>] (worker_thread+0x200/0x344)
[<c01aaf88>] (worker_thread+0x200/0x344) from [<c01b03bc>] (kthread+0xa0/0xb0)
[<c01b03bc>] (kthread+0xa0/0xb0) from [<c01061b8>] (ret_from_fork+0x14/0x3c)

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-08-29 22:19:23 +02:00
..
acpi-cpufreq.c acpi-cpufreq: Use cpufreq_freq_attr_rw to define the cpb attribute 2013-08-14 22:24:22 +02:00
amd_freq_sensitivity.c cpufreq: AMD "frequency sensitivity feedback" powersave bias for ondemand governor 2013-04-10 13:19:26 +02:00
arm_big_little_dt.c cpufreq: arm_big_little: remove device tree parsing for cpu nodes 2013-08-21 10:29:55 +01:00
arm_big_little.c cpufreq: arm-big-little: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 18:18:58 +05:30
arm_big_little.h cpufreq: ARM big LITTLE: Move cpu_to_cluster() to arm_big_little.h 2013-05-12 14:04:15 +02:00
at32ap-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
blackfin-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
cpufreq_conservative.c cpufreq: governors: Remove duplicate check of target freq in supported range 2013-08-28 22:03:02 +02:00
cpufreq_governor.c cpufreq: Don't use smp_processor_id() in preemptible context 2013-08-29 22:19:23 +02:00
cpufreq_governor.h cpufreq: governor: Fix typos in comments 2013-08-28 22:04:54 +02:00
cpufreq_ondemand.c cpufreq: governors: Remove duplicate check of target freq in supported range 2013-08-28 22:03:02 +02:00
cpufreq_performance.c cpufreq: Clean up header files included in the core 2013-08-07 23:34:09 +02:00
cpufreq_powersave.c cpufreq: Clean up header files included in the core 2013-08-07 23:34:09 +02:00
cpufreq_stats.c cpufreq: Use sizeof(*ptr) convetion for computing sizes 2013-08-07 23:34:10 +02:00
cpufreq_userspace.c cpufreq: Fix minor formatting issues 2013-06-21 01:06:34 +02:00
cpufreq-cpu0.c Merge branch 'cpu_of_node' of git://linux-arm.org/linux-skn into pm-cpufreq-next 2013-08-23 00:57:19 +02:00
cpufreq-nforce2.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
cpufreq.c cpufreq: fix bad unlock balance on !CONFIG_SMP 2013-08-21 02:04:31 +02:00
cris-artpec3-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
cris-etraxfs-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
davinci-cpufreq.c cpufreq: davinci: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 18:18:58 +05:30
dbx500-cpufreq.c cpufreq: delete __cpuinit usage from all cpufreq files 2013-07-14 19:36:57 -04:00
e_powersaver.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
elanfreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
exynos4x12-cpufreq.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
exynos4210-cpufreq.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
exynos5250-cpufreq.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
exynos5440-cpufreq.c cpufreq: exynos5440: Fix to skip when new frequency same as current 2013-08-12 12:00:18 +05:30
exynos-cpufreq.c Merge branch 'cpufreq-fixes' of git://git.linaro.org/people/vireshk/linux into pm-cpufreq 2013-08-14 22:22:57 +02:00
exynos-cpufreq.h cpufreq: fix EXYNOS drivers selection 2013-08-12 12:00:21 +05:30
freq_table.c cpufreq: Clean up header files included in the core 2013-08-07 23:34:09 +02:00
gx-suspmod.c cpufreq / gx: Fix gx_detect_chipset() __init attribute location 2013-08-14 22:24:23 +02:00
highbank-cpufreq.c cpufreq: highbank-cpufreq: remove device tree parsing for cpu nodes 2013-08-21 10:29:54 +01:00
ia64-acpi-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
imx6q-cpufreq.c Merge branch 'cpufreq-fixes' of git://git.linaro.org/people/vireshk/linux into pm-cpufreq 2013-08-27 02:37:54 +02:00
integrator-cpufreq.c cpufreq: integrator: move cpufreq driver to drivers/cpufreq 2013-04-08 13:02:31 +02:00
intel_pstate.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
Kconfig cpufreq: Fix incorrect dependecies for ARM SA11xx drivers 2013-05-12 14:04:16 +02:00
Kconfig.arm cpufreq: fix EXYNOS drivers selection 2013-08-12 12:00:21 +05:30
Kconfig.powerpc Merge branch 'pm-cpufreq-assorted' into pm-cpufreq 2013-06-27 21:46:45 +02:00
Kconfig.x86 cpufreq: X86_AMD_FREQ_SENSITIVITY: select CPU_FREQ_TABLE 2013-06-18 13:53:11 +05:30
kirkwood-cpufreq.c Merge branch 'cpu_of_node' of git://linux-arm.org/linux-skn into pm-cpufreq-next 2013-08-23 00:57:19 +02:00
longhaul.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
longhaul.h cpufreq: delete __cpuinit usage from all cpufreq files 2013-07-14 19:36:57 -04:00
longrun.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
loongson2_cpufreq.c Merge back earlier 'pm-cpufreq' material 2013-08-14 22:21:16 +02:00
Makefile cpufreq: Remove unused APERF/MPERF support 2013-07-26 01:06:43 +02:00
maple-cpufreq.c Merge branch 'cpu_of_node' of git://linux-arm.org/linux-skn into pm-cpufreq-next 2013-08-23 00:57:19 +02:00
omap-cpufreq.c cpufreq: delete __cpuinit usage from all cpufreq files 2013-07-14 19:36:57 -04:00
p4-clockmod.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
pasemi-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
pcc-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
pmac32-cpufreq.c Merge branch 'cpu_of_node' of git://linux-arm.org/linux-skn into pm-cpufreq-next 2013-08-23 00:57:19 +02:00
pmac64-cpufreq.c Merge branch 'cpu_of_node' of git://linux-arm.org/linux-skn into pm-cpufreq-next 2013-08-23 00:57:19 +02:00
powernow-k6.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
powernow-k7.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
powernow-k7.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
powernow-k8.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
powernow-k8.h cpufreq: Remove support for hardware P-state chips from powernow-k8 2012-09-09 22:05:30 +02:00
ppc_cbe_cpufreq_pervasive.c cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
ppc_cbe_cpufreq_pmi.c cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
ppc_cbe_cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
ppc_cbe_cpufreq.h cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
ppc-corenet-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
pxa2xx-cpufreq.c cpufreq / pxa2xx: Fix pxa_cpufreq_init_voltages() __init attribute location 2013-08-14 22:24:23 +02:00
pxa3xx-cpufreq.c pxa3xx-cpufreq.c: Avoid using ARRAY_AND_SIZE(e) as a function argument 2013-08-14 22:24:23 +02:00
s3c24xx-cpufreq-debugfs.c cpufreq: s3c24xx: move cpufreq driver to drivers/cpufreq 2013-05-20 23:04:28 +09:00
s3c24xx-cpufreq.c cpufreq / s3c24xx: Fix s3c_cpufreq_initclks() __init attribute location 2013-08-14 22:24:24 +02:00
s3c64xx-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
s3c2410-cpufreq.c cpufreq: s3c24xx: move cpufreq driver to drivers/cpufreq 2013-05-20 23:04:28 +09:00
s3c2412-cpufreq.c cpufreq: s3c24xx: move cpufreq driver to drivers/cpufreq 2013-05-20 23:04:28 +09:00
s3c2416-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
s3c2440-cpufreq.c cpufreq: s3c24xx: move cpufreq driver to drivers/cpufreq 2013-05-20 23:04:28 +09:00
s5pv210-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
sa1100-cpufreq.c cpufreq: sa11x0: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:24 +02:00
sa1110-cpufreq.c cpufreq: sa11x0: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:24 +02:00
sc520_freq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
sh-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
sparc-us2e-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
sparc-us3-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
spear-cpufreq.c cpufreq: spear-cpufreq: remove device tree parsing for cpu nodes 2013-08-21 10:29:54 +01:00
speedstep-centrino.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
speedstep-ich.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
speedstep-lib.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00
speedstep-lib.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
speedstep-smi.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
tegra-cpufreq.c cpufreq: tegra: fix the wrong clock name 2013-08-23 21:58:28 +05:30
unicore2-cpufreq.c cpufreq: unicore2: Staticize local symbol 2013-08-14 22:24:24 +02:00