From 87be0f1128fa39a55dc499b66d49cd288c795429 Mon Sep 17 00:00:00 2001 From: Haren Myneni Date: Wed, 3 Aug 2005 15:08:18 +1000 Subject: [PATCH] --- yaml --- r: 5594 b: refs/heads/master c: 5cb4cc0d8211c490537c8568001958fc76741312 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/ppc64/xmon/xmon.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 39c1dc9e9848..f6bcdd03b6f0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0b2bfb4e7ff61f286676867c3508569bea6fbf7a +refs/heads/master: 5cb4cc0d8211c490537c8568001958fc76741312 diff --git a/trunk/arch/ppc64/xmon/xmon.c b/trunk/arch/ppc64/xmon/xmon.c index 7f6e13a4b71e..05539439e6bc 100644 --- a/trunk/arch/ppc64/xmon/xmon.c +++ b/trunk/arch/ppc64/xmon/xmon.c @@ -329,13 +329,16 @@ int xmon_core(struct pt_regs *regs, int fromipi) printf("cpu 0x%x: Exception %lx %s in xmon, " "returning to main loop\n", cpu, regs->trap, getvecname(TRAP(regs))); + release_output_lock(); longjmp(xmon_fault_jmp[cpu], 1); } if (setjmp(recurse_jmp) != 0) { if (!in_xmon || !xmon_gate) { + get_output_lock(); printf("xmon: WARNING: bad recursive fault " "on cpu 0x%x\n", cpu); + release_output_lock(); goto waiting; } secondary = !(xmon_taken && cpu == xmon_owner);