diff --git a/kernel/workqueue.c b/kernel/workqueue.c index dd2a4c49a39a..c273376ff73e 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -4201,7 +4201,7 @@ void destroy_workqueue(struct workqueue_struct *wq) } } - if (WARN_ON(pwq->refcnt > 1) || + if (WARN_ON((pwq != wq->dfl_pwq) && (pwq->refcnt > 1)) || WARN_ON(pwq->nr_active) || WARN_ON(!list_empty(&pwq->delayed_works))) { mutex_unlock(&wq->mutex);