Title: [6602] trunk/arch/blackfin/kernel/traps.c: make sure all exit paths of trap_c() restore the trace buffer status
Revision
6602
Author
vapier
Date
2009-06-07 14:11:50 -0500 (Sun, 07 Jun 2009)

Log Message

make sure all exit paths of trap_c() restore the trace buffer status

Modified Paths


Diff

Modified: trunk/arch/blackfin/kernel/traps.c (6601 => 6602)


--- trunk/arch/blackfin/kernel/traps.c	2009-06-07 10:56:33 UTC (rev 6601)
+++ trunk/arch/blackfin/kernel/traps.c	2009-06-07 19:11:50 UTC (rev 6602)
@@ -305,7 +305,7 @@
 		CHK_DEBUGGER_TRAP_MAYBE();
 		/* Check if this is a breakpoint in kernel space */
 		if (fp->ipend & 0xffc0)
-			return;
+			goto traps_done;
 		else
 			break;
 	/* 0x03 - User Defined, userspace stack overflow */
@@ -321,7 +321,7 @@
 		info.si_code = TRAP_ILLTRAP;
 		sig = SIGTRAP;
 		CHK_DEBUGGER_TRAP();
-		return;
+		goto traps_done;
 #endif
 	/* 0x04 - User Defined */
 	/* 0x05 - User Defined */
@@ -351,7 +351,7 @@
 		CHK_DEBUGGER_TRAP_MAYBE();
 		/* Check if this is a single step in kernel space */
 		if (fp->ipend & 0xffc0)
-			return;
+			goto traps_done;
 		else
 			break;
 	/* 0x11 - Trace Buffer Full, handled here */
@@ -438,7 +438,7 @@
 		CHK_DEBUGGER_TRAP_MAYBE();
 		/* Check if this is a watchpoint in kernel space */
 		if (fp->ipend & 0xffc0)
-			return;
+			goto traps_done;
 		else
 			break;
 #ifdef CONFIG_BF535
@@ -603,8 +603,8 @@
 	if (ANOMALY_05000461 && trapnr == VEC_HWERR && !access_ok(VERIFY_READ, fp->pc, 8))
 		fp->pc = SAFE_USER_INSTRUCTION;
 
+ traps_done:
 	trace_buffer_restore(j);
-	return;
 }
 
 /* Typical exception handling routines	*/
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to