diff options
Diffstat (limited to 'kernel/cpu.c')
| -rw-r--r-- | kernel/cpu.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/kernel/cpu.c b/kernel/cpu.c index 47fff3b63cbf..30e74dd6d01b 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c | |||
| @@ -269,8 +269,11 @@ out_release: | |||
| 269 | 269 | ||
| 270 | int __ref cpu_down(unsigned int cpu) | 270 | int __ref cpu_down(unsigned int cpu) | 
| 271 | { | 271 | { | 
| 272 | int err = 0; | 272 | int err; | 
| 273 | 273 | ||
| 274 | err = stop_machine_create(); | ||
| 275 | if (err) | ||
| 276 | return err; | ||
| 274 | cpu_maps_update_begin(); | 277 | cpu_maps_update_begin(); | 
| 275 | 278 | ||
| 276 | if (cpu_hotplug_disabled) { | 279 | if (cpu_hotplug_disabled) { | 
| @@ -297,6 +300,7 @@ int __ref cpu_down(unsigned int cpu) | |||
| 297 | 300 | ||
| 298 | out: | 301 | out: | 
| 299 | cpu_maps_update_done(); | 302 | cpu_maps_update_done(); | 
| 303 | stop_machine_destroy(); | ||
| 300 | return err; | 304 | return err; | 
| 301 | } | 305 | } | 
| 302 | EXPORT_SYMBOL(cpu_down); | 306 | EXPORT_SYMBOL(cpu_down); | 
