diff options
-rw-r--r-- | kernel/workqueue.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 62d47220696a..e72fb6478da6 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c | |||
@@ -315,6 +315,11 @@ struct workqueue_struct *__create_workqueue(const char *name, | |||
315 | return NULL; | 315 | return NULL; |
316 | 316 | ||
317 | wq->cpu_wq = alloc_percpu(struct cpu_workqueue_struct); | 317 | wq->cpu_wq = alloc_percpu(struct cpu_workqueue_struct); |
318 | if (!wq->cpu_wq) { | ||
319 | kfree(wq); | ||
320 | return NULL; | ||
321 | } | ||
322 | |||
318 | wq->name = name; | 323 | wq->name = name; |
319 | /* We don't need the distraction of CPUs appearing and vanishing. */ | 324 | /* We don't need the distraction of CPUs appearing and vanishing. */ |
320 | lock_cpu_hotplug(); | 325 | lock_cpu_hotplug(); |