summaryrefslogtreecommitdiffstats
path: root/kernel/workqueue.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-10-27 09:13:38 +0900
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-10-27 09:13:38 +0900
commitcf516d08eceb4c442f0f2f1a73ebf994b1dbf0ed (patch)
treea56d5024a453bb323039f7c481ac17738269e24f /kernel/workqueue.c
parent047e6646579c2853afba0111f573796daf4fd485 (diff)
parent32b88194f71d6ae7768a29f87fbba454728273ee (diff)
downloadlinux-cf516d08eceb4c442f0f2f1a73ebf994b1dbf0ed.tar.gz
linux-cf516d08eceb4c442f0f2f1a73ebf994b1dbf0ed.zip
Merge 4.3-rc7 into staging-next
We want the other staging patches in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r--kernel/workqueue.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index ca71582fcfab..bcb14cafe007 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -1458,13 +1458,13 @@ static void __queue_delayed_work(int cpu, struct workqueue_struct *wq,
timer_stats_timer_set_start_info(&dwork->timer);
dwork->wq = wq;
+ /* timer isn't guaranteed to run in this cpu, record earlier */
+ if (cpu == WORK_CPU_UNBOUND)
+ cpu = raw_smp_processor_id();
dwork->cpu = cpu;
timer->expires = jiffies + delay;
- if (unlikely(cpu != WORK_CPU_UNBOUND))
- add_timer_on(timer, cpu);
- else
- add_timer(timer);
+ add_timer_on(timer, cpu);
}
/**