|
@@ -706,8 +706,9 @@ static int takedown_cpu(unsigned int cpu)
|
|
|
else
|
|
|
synchronize_rcu();
|
|
|
|
|
|
- /* Park the hotplug thread */
|
|
|
+ /* Park the smpboot threads */
|
|
|
kthread_park(per_cpu_ptr(&cpuhp_state, cpu)->thread);
|
|
|
+ smpboot_park_threads(cpu);
|
|
|
|
|
|
/*
|
|
|
* Prevent irq alloc/free while the dying cpu reorganizes the
|
|
@@ -1206,7 +1207,7 @@ static struct cpuhp_step cpuhp_ap_states[] = {
|
|
|
[CPUHP_AP_SMPBOOT_THREADS] = {
|
|
|
.name = "smpboot:threads",
|
|
|
.startup = smpboot_unpark_threads,
|
|
|
- .teardown = smpboot_park_threads,
|
|
|
+ .teardown = NULL,
|
|
|
},
|
|
|
[CPUHP_AP_NOTIFY_ONLINE] = {
|
|
|
.name = "notify:online",
|