mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-11-19 08:05:27 +08:00
workqueue: flush_delayed_work: keep the original workqueue for re-queueing
flush_delayed_work() always uses keventd_wq for re-queueing, but it should use the workqueue this dwork was queued on. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
66f41d4c5c
commit
47dd5be2d6
@ -774,7 +774,7 @@ void flush_delayed_work(struct delayed_work *dwork)
|
||||
{
|
||||
if (del_timer_sync(&dwork->timer)) {
|
||||
struct cpu_workqueue_struct *cwq;
|
||||
cwq = wq_per_cpu(keventd_wq, get_cpu());
|
||||
cwq = wq_per_cpu(get_wq_data(&dwork->work)->wq, get_cpu());
|
||||
__queue_work(cwq, &dwork->work);
|
||||
put_cpu();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user