summaryrefslogtreecommitdiff
path: root/kernel/padata.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-11-04 18:14:52 +0100
committerThomas Gleixner <tglx@linutronix.de>2020-11-04 18:14:52 +0100
commit01be83eea08d6d9f9209843e2e084505fba4053f (patch)
tree95b456e1ac40399fd5f55b57ae0936643bea1836 /kernel/padata.c
parent45ff510517f3b1354a3d9c273ad5e5e8d08312cb (diff)
parent9d820f68b2bdba5b2e7bf135123c3f57c5051d05 (diff)
Merge branch 'core/urgent' into core/entry
Pick up the entry fix before further modifications.
Diffstat (limited to 'kernel/padata.c')
-rw-r--r--kernel/padata.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/padata.c b/kernel/padata.c
index 16cb894dc272..d4d3ba6e1728 100644
--- a/kernel/padata.c
+++ b/kernel/padata.c
@@ -215,12 +215,13 @@ int padata_do_parallel(struct padata_shell *ps,
padata->pd = pd;
padata->cb_cpu = *cb_cpu;
- rcu_read_unlock_bh();
-
spin_lock(&padata_works_lock);
padata->seq_nr = ++pd->seq_nr;
pw = padata_work_alloc();
spin_unlock(&padata_works_lock);
+
+ rcu_read_unlock_bh();
+
if (pw) {
padata_work_init(pw, padata_parallel_worker, padata, 0);
queue_work(pinst->parallel_wq, &pw->pw_work);