cpufreq / powernow-k8: Remove usage of smp_processor_id() in preemptible code
Commit
6889125b8b4e09c5e53e6ecab3433bed1ce198c9
(cpufreq/powernow-k8: workqueue user shouldn't migrate the kworker to another CPU)
causes powernow-k8 to trigger a preempt warning, e.g.:
BUG: using smp_processor_id() in preemptible [
00000000] code: cpufreq/3776
caller is powernowk8_target+0x20/0x49
Pid: 3776, comm: cpufreq Not tainted 3.6.0 #9
Call Trace:
[<
ffffffff8125b447>] debug_smp_processor_id+0xc7/0xe0
[<
ffffffff814877e7>] powernowk8_target+0x20/0x49
[<
ffffffff81482b02>] __cpufreq_driver_target+0x82/0x8a
[<
ffffffff81484fc6>] cpufreq_governor_performance+0x4e/0x54
[<
ffffffff81482c50>] __cpufreq_governor+0x8c/0xc9
[<
ffffffff81482e6f>] __cpufreq_set_policy+0x1a9/0x21e
[<
ffffffff814839af>] store_scaling_governor+0x16f/0x19b
[<
ffffffff81484f16>] ? cpufreq_update_policy+0x124/0x124
[<
ffffffff8162b4a5>] ? _raw_spin_unlock_irqrestore+0x2c/0x49
[<
ffffffff81483640>] store+0x60/0x88
[<
ffffffff811708c0>] sysfs_write_file+0xf4/0x130
[<
ffffffff8111243b>] vfs_write+0xb5/0x151
[<
ffffffff811126e0>] sys_write+0x4a/0x71
[<
ffffffff816319a9>] system_call_fastpath+0x16/0x1b
Fix this by by always using work_on_cpu().
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>