diff options
Diffstat (limited to 'kernel/workqueue.c')
| -rw-r--r-- | kernel/workqueue.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index ee41cf857d55..5fbffd302eb5 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c | |||
| @@ -690,7 +690,8 @@ int schedule_on_each_cpu(work_func_t func) | |||
| 690 | set_bit(WORK_STRUCT_PENDING, work_data_bits(work)); | 690 | set_bit(WORK_STRUCT_PENDING, work_data_bits(work)); |
| 691 | __queue_work(per_cpu_ptr(keventd_wq->cpu_wq, cpu), work); | 691 | __queue_work(per_cpu_ptr(keventd_wq->cpu_wq, cpu), work); |
| 692 | } | 692 | } |
| 693 | flush_workqueue(keventd_wq); | 693 | for_each_online_cpu(cpu) |
| 694 | flush_work(per_cpu_ptr(works, cpu)); | ||
| 694 | put_online_cpus(); | 695 | put_online_cpus(); |
| 695 | free_percpu(works); | 696 | free_percpu(works); |
| 696 | return 0; | 697 | return 0; |
