--- x/kernel/workqueue.c +++ y/kernel/workqueue.c @@ -5653,6 +5653,7 @@ static struct workqueue_struct *__alloc_ wq = kzalloc(wq_size, GFP_KERNEL); if (!wq) return NULL; + wq_init_lockdep(wq); if (flags & WQ_UNBOUND) { wq->unbound_attrs = alloc_workqueue_attrs(); @@ -5757,10 +5758,6 @@ struct workqueue_struct *alloc_workqueue va_start(args, max_active); wq = __alloc_workqueue(fmt, flags, max_active, args); va_end(args); - if (!wq) - return NULL; - - wq_init_lockdep(wq); return wq; }