This is no point to unlock() and then lock() the same mutex
back to back.

Signed-off-by: Lai Jiangshan <la...@linux.alibaba.com>
---
 kernel/workqueue.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index c0cbe0de95d0..415893cfb074 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -4383,13 +4383,11 @@ void destroy_workqueue(struct workqueue_struct *wq)
                spin_unlock_irq(&pwq->pool->lock);
        }
        mutex_unlock(&wq->mutex);
-       mutex_unlock(&wq_pool_mutex);
 
        /*
         * wq list is used to freeze wq, remove from list after
         * flushing is complete in case freeze races us.
         */
-       mutex_lock(&wq_pool_mutex);
        list_del_rcu(&wq->list);
        mutex_unlock(&wq_pool_mutex);
 
-- 
2.20.1

Reply via email to