From: Andrew Morton Make it compile. Cc: Christoph Lameter Signed-off-by: Andrew Morton --- kernel/workqueue.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff -puN kernel/workqueue.c~use-alloc_percpu-to-allocate-workqueues-locally-fix kernel/workqueue.c --- devel/kernel/workqueue.c~use-alloc_percpu-to-allocate-workqueues-locally-fix 2005-09-22 23:20:18.000000000 -0700 +++ devel-akpm/kernel/workqueue.c 2005-09-22 23:20:18.000000000 -0700 @@ -512,15 +512,18 @@ static int __devinit workqueue_cpu_callb case CPU_ONLINE: /* Kick off worker threads. */ list_for_each_entry(wq, &workqueues, list) { - kthread_bind(per_cpu_ptr(wq->cpu_wq, hotcpu)->thread, hotcpu); - wake_up_process(per_cpu_ptr(wq->cpu_wq)->thread); + struct cpu_workqueue_struct *cwq; + + cwq = per_cpu_ptr(wq->cpu_wq, hotcpu); + kthread_bind(cwq->thread, hotcpu); + wake_up_process(cwq->thread); } break; case CPU_UP_CANCELED: list_for_each_entry(wq, &workqueues, list) { /* Unbind so it can run. */ - kthread_bind(per_cpu_tr(wq->cpu_wq, hotcpu)->thread, + kthread_bind(per_cpu_ptr(wq->cpu_wq, hotcpu)->thread, smp_processor_id()); cleanup_workqueue_thread(wq, hotcpu); } _