29 lines
868 B
Diff
29 lines
868 B
Diff
From b6236cc57ae8c04321374b19c836dd6cd0311577 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Gleixner <tglx@linutronix.de>
|
|
Date: Fri, 4 Nov 2011 18:58:24 +0100
|
|
Subject: [211/256] hotplug-stuff.patch
|
|
|
|
Do not take lock for non handled cases (might be atomic context)
|
|
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
---
|
|
kernel/workqueue.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
|
|
index d3da5a8..bc867e8 100644
|
|
--- a/kernel/workqueue.c
|
|
+++ b/kernel/workqueue.c
|
|
@@ -3215,6 +3215,11 @@ static int __devinit workqueue_cpu_up_callback(struct notifier_block *nfb,
|
|
new_worker = create_worker(gcwq, false);
|
|
if (!new_worker)
|
|
return NOTIFY_BAD;
|
|
+ case CPU_UP_CANCELED:
|
|
+ case CPU_ONLINE:
|
|
+ break;
|
|
+ default:
|
|
+ return notifier_from_errno(0);
|
|
}
|
|
|
|
/* some are called w/ irq disabled, don't disturb irq status */
|