diff options
-rw-r--r-- | arch/s390/kernel/nmi.c | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/arch/s390/kernel/nmi.c b/arch/s390/kernel/nmi.c index faa40bf622f8..a98aab1f987b 100644 --- a/arch/s390/kernel/nmi.c +++ b/arch/s390/kernel/nmi.c @@ -34,7 +34,7 @@ struct mcck_struct { static DEFINE_PER_CPU(struct mcck_struct, cpu_mcck); -static void s390_handle_damage(char *msg) +static void s390_handle_damage(void) { smp_send_stop(); disabled_wait((unsigned long) __builtin_return_address(0)); @@ -195,7 +195,7 @@ static int notrace s390_revalidate_registers(struct mci *mci) * Control registers have unknown contents. * Can't recover and therefore stopping machine. */ - s390_handle_damage("invalid control registers."); + s390_handle_damage(); } else { asm volatile( " lctlg 0,15,0(%0)" @@ -228,7 +228,7 @@ static int notrace s390_revalidate_registers(struct mci *mci) * Can't tell if we come from user or kernel mode * -> stopping machine. */ - s390_handle_damage("old psw invalid."); + s390_handle_damage(); if (!mci->ms || !mci->pm || !mci->ia) kill_task = 1; @@ -265,7 +265,7 @@ void notrace s390_do_machine_check(struct pt_regs *regs) if (mci->sd) { /* System damage -> stopping machine */ - s390_handle_damage("received system damage machine check."); + s390_handle_damage(); } if (mci->pd) { if (mci->b) { @@ -280,8 +280,7 @@ void notrace s390_do_machine_check(struct pt_regs *regs) if (((t_mcic & z_mcic) != 0) || ((t_mcic & o_mcic) != o_mcic)) { - s390_handle_damage("processing backup machine " - "check with damage."); + s390_handle_damage(); } /* @@ -296,12 +295,11 @@ void notrace s390_do_machine_check(struct pt_regs *regs) ipd_count = 1; last_ipd = tmp; if (ipd_count == MAX_IPD_COUNT) - s390_handle_damage("too many ipd retries."); + s390_handle_damage(); spin_unlock(&ipd_lock); } else { /* Processing damage -> stopping machine */ - s390_handle_damage("received instruction processing " - "damage machine check."); + s390_handle_damage(); } } if (s390_revalidate_registers(mci)) { @@ -318,12 +316,12 @@ void notrace s390_do_machine_check(struct pt_regs *regs) * Couldn't restore all register contents while in * kernel mode -> stopping machine. */ - s390_handle_damage("unable to revalidate registers."); + s390_handle_damage(); } } if (mci->cd) { /* Timing facility damage */ - s390_handle_damage("TOD clock damaged"); + s390_handle_damage(); } if (mci->ed && mci->ec) { /* External damage */ @@ -340,16 +338,13 @@ void notrace s390_do_machine_check(struct pt_regs *regs) } if (mci->se) /* Storage error uncorrected */ - s390_handle_damage("received storage error uncorrected " - "machine check."); + s390_handle_damage(); if (mci->ke) /* Storage key-error uncorrected */ - s390_handle_damage("received storage key-error uncorrected " - "machine check."); + s390_handle_damage(); if (mci->ds && mci->fa) /* Storage degradation */ - s390_handle_damage("received storage degradation machine " - "check."); + s390_handle_damage(); if (mci->cp) { /* Channel report word pending */ mcck->channel_report = 1; |