X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=kernel%2Fworkqueue.c;h=82ef9f3b7473a81ef5004362c7281ae9f4aea82a;hb=deb2a1d29bf0168ff2575e714e5c1f156be663fb;hp=b010eac595d20eece261310cc4acb629ad70b92b;hpb=55df811f2066fcaec2548248f0a1a6a0c12dc6b8;p=~andy%2Flinux diff --git a/kernel/workqueue.c b/kernel/workqueue.c index b010eac595d..82ef9f3b747 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -4789,6 +4789,7 @@ static int workqueue_cpu_down_callback(struct notifier_block *nfb, /* wait for per-cpu unbinding to finish */ flush_work(&unbind_work); + destroy_work_on_stack(&unbind_work); break; } 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); schedule_work_on(cpu, &wfc.work); flush_work(&wfc.work); + destroy_work_on_stack(&wfc.work); return wfc.ret; } EXPORT_SYMBOL_GPL(work_on_cpu);