Hi Tejun,

Today's linux-next merge of the workqueues tree got a conflict in
kernel/workqueue.c between commit 12997d1a999c ("Revert "workqueue: allow
work_on_cpu() to be called recursively"") from Linus' tree and commit
440a11360326 ("workqueue: Calling destroy_work_on_stack() to pair with
INIT_WORK_ONSTACK()") from the workqueues tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    s...@canb.auug.org.au

diff --cc kernel/workqueue.c
index b010eac595d2,fdeec6e9d025..000000000000
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@@ -4827,7 -4833,15 +4828,8 @@@ long work_on_cpu(int cpu, long (*fn)(vo
  
        INIT_WORK_ONSTACK(&wfc.work, work_for_cpu_fn);
        schedule_work_on(cpu, &wfc.work);
 -
 -      /*
 -       * The work item is on-stack and can't lead to deadlock through
 -       * flushing.  Use __flush_work() to avoid spurious lockdep warnings
 -       * when work_on_cpu()s are nested.
 -       */
 -      __flush_work(&wfc.work);
 -
 +      flush_work(&wfc.work);
+       destroy_work_on_stack(&wfc.work);
        return wfc.ret;
  }
  EXPORT_SYMBOL_GPL(work_on_cpu);

Attachment: pgpEDtEwLpegT.pgp
Description: PGP signature

Reply via email to