|
@@ -4789,6 +4789,7 @@ static int workqueue_cpu_down_callback(struct notifier_block *nfb,
|
|
|
|
|
|
/* wait for per-cpu unbinding to finish */
|
|
/* wait for per-cpu unbinding to finish */
|
|
flush_work(&unbind_work);
|
|
flush_work(&unbind_work);
|
|
|
|
+ destroy_work_on_stack(&unbind_work);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
return NOTIFY_OK;
|
|
return NOTIFY_OK;
|
|
@@ -4828,6 +4829,7 @@ long work_on_cpu(int cpu, long (*fn)(void *), void *arg)
|
|
INIT_WORK_ONSTACK(&wfc.work, work_for_cpu_fn);
|
|
INIT_WORK_ONSTACK(&wfc.work, work_for_cpu_fn);
|
|
schedule_work_on(cpu, &wfc.work);
|
|
schedule_work_on(cpu, &wfc.work);
|
|
flush_work(&wfc.work);
|
|
flush_work(&wfc.work);
|
|
|
|
+ destroy_work_on_stack(&wfc.work);
|
|
return wfc.ret;
|
|
return wfc.ret;
|
|
}
|
|
}
|
|
EXPORT_SYMBOL_GPL(work_on_cpu);
|
|
EXPORT_SYMBOL_GPL(work_on_cpu);
|