diff --git a/[refs] b/[refs] index 702107bedd79..f01e4b356a7f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d4283e9378619c14dc3826a6b0527eb5d967ffde +refs/heads/master: 959d1af8cffc8fd38ed53e8be1cf4ab8782f9c00 diff --git a/trunk/kernel/workqueue.c b/trunk/kernel/workqueue.c index 70f95ab28f3d..5c26d36146b7 100644 --- a/trunk/kernel/workqueue.c +++ b/trunk/kernel/workqueue.c @@ -1997,7 +1997,9 @@ __acquires(&gcwq->lock) spin_unlock_irq(&gcwq->lock); + smp_wmb(); /* paired with test_and_set_bit(PENDING) */ work_clear_pending(work); + lock_map_acquire_read(&cwq->wq->lockdep_map); lock_map_acquire(&lockdep_map); trace_workqueue_execute_start(work);