From: Tejun Heo Date: Mon, 9 Aug 2010 09:50:34 +0000 (+0200) Subject: workqueue: workqueue_cpu_callback() should be cpu_notifier instead of hotcpu_notifier X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f6500947a9cbb81cfa07ff344f16955d9c6ebe61;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git workqueue: workqueue_cpu_callback() should be cpu_notifier instead of hotcpu_notifier Commit 6ee0578b (workqueue: mark init_workqueues as early_initcall) made workqueue SMP initialization depend on workqueue_cpu_callback(), which however was registered as hotcpu_notifier() and didn't get called if CONFIG_HOTPLUG_CPU is not set. This made gcwqs on non-boot CPUs not create their initial workers leading to boot failures. Fix it by making it a cpu_notifier. Signed-off-by: Tejun Heo Reported-and-bisected-by: walt Tested-by: Markus Trippelsdorf --- diff --git a/kernel/workqueue.c b/kernel/workqueue.c index da6c482944d..2994a0e3a61 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -3527,7 +3527,7 @@ static int __init init_workqueues(void) unsigned int cpu; int i; - hotcpu_notifier(workqueue_cpu_callback, CPU_PRI_WORKQUEUE); + cpu_notifier(workqueue_cpu_callback, CPU_PRI_WORKQUEUE); /* initialize gcwqs */ for_each_gcwq_cpu(cpu) {