workqueue: proper error unwinding in cpu hotplug error path
PATCH 1/1 workqueue: proper error unwinding in cpu hotplug error path
Add proper error unwinding in error path in CPU_UP_PREPARE notifier.
Signed-off-by Akinobu Mita <[email protected]>
--- kernel/workqueue.c | 9 +++++++++ 1 file changed, 9 insertions(+)
kernel/workqueue.c +9 -0
@@ -928,6 +928,15 @@ static int __devinit workqueue_cpu_callbbreak ;printk (KERN_ERR "workqueue [%s] for %i failed\n" , wq->name, cpu); + +list_for_each_entry_continue_reverse (wq, &workqueues, + list) { + cwq =per_cpu_ptr (wq->cpu_wq, cpu); +start_workqueue_thread (cwq,-1 ); +cleanup_workqueue_thread (cwq); + } +cpu_clear (cpu, cpu_populated_map); +return NOTIFY_BAD ;case CPU_ONLINE :