diff options
-rw-r--r-- | arch/s390/kernel/ipl.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c index d73aff63725f..e3b9c6cc3aec 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c | |||
@@ -1096,8 +1096,12 @@ static struct shutdown_action vmcmd_action = {SHUTDOWN_ACTION_VMCMD_STR, | |||
1096 | 1096 | ||
1097 | static void stop_run(struct shutdown_trigger *trigger) | 1097 | static void stop_run(struct shutdown_trigger *trigger) |
1098 | { | 1098 | { |
1099 | signal_processor(smp_processor_id(), sigp_stop_and_store_status); | 1099 | if (strcmp(trigger->name, ON_PANIC_STR) == 0) |
1100 | for (;;); | 1100 | disabled_wait((unsigned long) __builtin_return_address(0)); |
1101 | else { | ||
1102 | signal_processor(smp_processor_id(), sigp_stop); | ||
1103 | for (;;); | ||
1104 | } | ||
1101 | } | 1105 | } |
1102 | 1106 | ||
1103 | static struct shutdown_action stop_action = {SHUTDOWN_ACTION_STOP_STR, | 1107 | static struct shutdown_action stop_action = {SHUTDOWN_ACTION_STOP_STR, |