mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
b5608a5fc5
Even though this work item runs on only one cpu at a time (due to queue_work_on()) it is possible for the work item to be preempted and so use of smp_processor_id() is illegal. BUG: using smp_processor_id() in preemptible [00000000] code: kworker/3:1/4162 caller is dbs_refresh_callback+0xc/0x188 [<c00151b0>] (unwind_backtrace+0x0/0x120) from [<c0279058>] (debug_smp_processor_id+0xbc/0xf0) [<c0279058>] (debug_smp_processor_id+0xbc/0xf0) from [<c0454b54>] (dbs_refresh_callback+0xc/0x188) [<c0454b54>] (dbs_refresh_callback+0xc/0x188) from [<c0087290>] (process_one_work+0x354/0x648) [<c0087290>] (process_one_work+0x354/0x648) from [<c0089754>] (worker_thread+0x1a8/0x2a8) [<c0089754>] (worker_thread+0x1a8/0x2a8) from [<c008e480>] (kthread+0x90/0xa0) [<c008e480>] (kthread+0x90/0xa0) from [<c000f438>] (kernel_thread_exit+0x0/0x8) The intent of the code is to determine which CPU this work item is running on, which we can easily do by passing that information in a wrapper struct around the work struct. Do this so we avoid this problem. Change-Id: I05ca0ff2b3cbaa239930463ea0760e3e9d75145f Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> |
||
---|---|---|
.. | ||
acpi-cpufreq.c | ||
cpufreq-nforce2.c | ||
cpufreq.c | ||
cpufreq_conservative.c | ||
cpufreq_gov_msm.c | ||
cpufreq_interactive.c | ||
cpufreq_limit.c | ||
cpufreq_ondemand.c | ||
cpufreq_performance.c | ||
cpufreq_powersave.c | ||
cpufreq_stats.c | ||
cpufreq_userspace.c | ||
db8500-cpufreq.c | ||
e_powersaver.c | ||
elanfreq.c | ||
exynos-cpufreq.c | ||
exynos4x12-cpufreq.c | ||
exynos4210-cpufreq.c | ||
exynos5250-cpufreq.c | ||
freq_table.c | ||
gx-suspmod.c | ||
Kconfig | ||
Kconfig.arm | ||
Kconfig.powerpc | ||
Kconfig.x86 | ||
longhaul.c | ||
longhaul.h | ||
longrun.c | ||
Makefile | ||
maple-cpufreq.c | ||
mperf.c | ||
mperf.h | ||
omap-cpufreq.c | ||
p4-clockmod.c | ||
pcc-cpufreq.c | ||
powernow-k6.c | ||
powernow-k7.c | ||
powernow-k7.h | ||
powernow-k8.c | ||
powernow-k8.h | ||
s3c64xx-cpufreq.c | ||
s3c2416-cpufreq.c | ||
s5pv210-cpufreq.c | ||
sc520_freq.c | ||
speedstep-centrino.c | ||
speedstep-ich.c | ||
speedstep-lib.c | ||
speedstep-lib.h | ||
speedstep-smi.c |