|
@@ -331,10 +331,17 @@ void cpu_hotplug_disable(void)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(cpu_hotplug_disable);
|
|
|
|
|
|
+static void __cpu_hotplug_enable(void)
|
|
|
+{
|
|
|
+ if (WARN_ONCE(!cpu_hotplug_disabled, "Unbalanced cpu hotplug enable\n"))
|
|
|
+ return;
|
|
|
+ cpu_hotplug_disabled--;
|
|
|
+}
|
|
|
+
|
|
|
void cpu_hotplug_enable(void)
|
|
|
{
|
|
|
cpu_maps_update_begin();
|
|
|
- WARN_ON(--cpu_hotplug_disabled < 0);
|
|
|
+ __cpu_hotplug_enable();
|
|
|
cpu_maps_update_done();
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(cpu_hotplug_enable);
|
|
@@ -1160,7 +1167,7 @@ void enable_nonboot_cpus(void)
|
|
|
|
|
|
/* Allow everyone to use the CPU hotplug again */
|
|
|
cpu_maps_update_begin();
|
|
|
- WARN_ON(--cpu_hotplug_disabled < 0);
|
|
|
+ __cpu_hotplug_enable();
|
|
|
if (cpumask_empty(frozen_cpus))
|
|
|
goto out;
|
|
|
|