diff options
author | Michael Holzheu <holzheu@de.ibm.com> | 2008-01-26 16:11:12 +0300 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-01-26 16:11:20 +0300 |
commit | c654749777e8624187b53fbb94cea91a7bf74347 (patch) | |
tree | 446bd1d6470f9e42cfe382facde5c68a50e9b20f /arch/s390/kernel | |
parent | 99ca4e582d4a4088969681efff97be44d98421a1 (diff) | |
download | linux-c654749777e8624187b53fbb94cea91a7bf74347.tar.xz |
[S390] Load disabled wait psw instead of stopping cpu on halt.
Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel')
-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, static void stop_run(struct shutdown_trigger *trigger) { - signal_processor(smp_processor_id(), sigp_stop_and_store_status); - for (;;); + if (strcmp(trigger->name, ON_PANIC_STR) == 0) + disabled_wait((unsigned long) __builtin_return_address(0)); + else { + signal_processor(smp_processor_id(), sigp_stop); + for (;;); + } } static struct shutdown_action stop_action = {SHUTDOWN_ACTION_STOP_STR, |