diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 1ae602809efb5d4358b4eed3777ae91c427b936c..286847b902252550850ab7ef0b5346d4e88a4605 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -2059,6 +2059,7 @@ static bool manage_workers(struct worker *worker) if (unlikely(!mutex_trylock(&pool->manager_mutex))) { spin_unlock_irq(&pool->lock); mutex_lock(&pool->manager_mutex); + spin_lock_irq(&pool->lock); ret = true; }