diff options
| -rw-r--r-- | arch/powerpc/platforms/pseries/hotplug-cpu.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c index 349e0af9389a..fefb7f84800b 100644 --- a/arch/powerpc/platforms/pseries/hotplug-cpu.c +++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c | |||
| @@ -140,25 +140,25 @@ static void pseries_mach_cpu_die(void) | |||
| 140 | if (!get_lppaca()->shared_proc) | 140 | if (!get_lppaca()->shared_proc) |
| 141 | get_lppaca()->donate_dedicated_cpu = 0; | 141 | get_lppaca()->donate_dedicated_cpu = 0; |
| 142 | get_lppaca()->idle = 0; | 142 | get_lppaca()->idle = 0; |
| 143 | } | ||
| 144 | 143 | ||
| 145 | if (get_preferred_offline_state(cpu) == CPU_STATE_ONLINE) { | 144 | if (get_preferred_offline_state(cpu) == CPU_STATE_ONLINE) { |
| 146 | unregister_slb_shadow(hwcpu, __pa(get_slb_shadow())); | 145 | unregister_slb_shadow(hwcpu, __pa(get_slb_shadow())); |
| 147 | 146 | ||
| 148 | /* | 147 | /* |
| 149 | * Call to start_secondary_resume() will not return. | 148 | * Call to start_secondary_resume() will not return. |
| 150 | * Kernel stack will be reset and start_secondary() | 149 | * Kernel stack will be reset and start_secondary() |
| 151 | * will be called to continue the online operation. | 150 | * will be called to continue the online operation. |
| 152 | */ | 151 | */ |
| 153 | start_secondary_resume(); | 152 | start_secondary_resume(); |
| 153 | } | ||
| 154 | } | ||
| 154 | 155 | ||
| 155 | } else if (get_preferred_offline_state(cpu) == CPU_STATE_OFFLINE) { | 156 | /* Requested state is CPU_STATE_OFFLINE at this point */ |
| 157 | WARN_ON(get_preferred_offline_state(cpu) != CPU_STATE_OFFLINE); | ||
| 156 | 158 | ||
| 157 | set_cpu_current_state(cpu, CPU_STATE_OFFLINE); | 159 | set_cpu_current_state(cpu, CPU_STATE_OFFLINE); |
| 158 | unregister_slb_shadow(hard_smp_processor_id(), | 160 | unregister_slb_shadow(hwcpu, __pa(get_slb_shadow())); |
| 159 | __pa(get_slb_shadow())); | 161 | rtas_stop_self(); |
| 160 | rtas_stop_self(); | ||
| 161 | } | ||
| 162 | 162 | ||
| 163 | /* Should never get here... */ | 163 | /* Should never get here... */ |
| 164 | BUG(); | 164 | BUG(); |
