From 27707d3e43e3a9c53e75cd7769f3ef74b1d56625 Mon Sep 17 00:00:00 2001
From: Sonic Zhang <sonic.zhang@analog.com>
Date: Thu, 9 Oct 2008 14:04:41 +0800
Subject: [PATCH] Blackfin arch: Fix bug - kernel build with config kernel
 debugging with remote gdb fails

 Add some comment and fix duplicated VEC_EXCPT02

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
---
 arch/blackfin/kernel/traps.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index 89cff2c7e8b1..1a3c4daf557a 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -284,15 +284,6 @@ asmlinkage void trap_c(struct pt_regs *fp)
 			return;
 		else
 			break;
-#ifdef CONFIG_KGDB
-	case VEC_EXCPT02 :		 /* gdb connection */
-		info.si_code = TRAP_ILLTRAP;
-		sig = SIGTRAP;
-		CHK_DEBUGGER_TRAP();
-		return;
-#else
-	/* 0x02 - User Defined, Caught by default */
-#endif
 	/* 0x03 - User Defined, userspace stack overflow */
 	case VEC_EXCPT03:
 		info.si_code = SEGV_STACKFLOW;
@@ -300,6 +291,14 @@ asmlinkage void trap_c(struct pt_regs *fp)
 		printk(KERN_NOTICE EXC_0x03(KERN_NOTICE));
 		CHK_DEBUGGER_TRAP_MAYBE();
 		break;
+	/* 0x02 - KGDB initial connection and break signal trap */
+	case VEC_EXCPT02:
+#ifdef CONFIG_KGDB
+		info.si_code = TRAP_ILLTRAP;
+		sig = SIGTRAP;
+		CHK_DEBUGGER_TRAP();
+		return;
+#endif
 	/* 0x04 - User Defined */
 	/* 0x05 - User Defined */
 	/* 0x06 - User Defined */
@@ -312,11 +311,9 @@ asmlinkage void trap_c(struct pt_regs *fp)
 	/* 0x0D - User Defined */
 	/* 0x0E - User Defined */
 	/* 0x0F - User Defined */
-	/*
-	 * If we got here, it is most likely that someone was trying to use a
+	/* If we got here, it is most likely that someone was trying to use a
 	 * custom exception handler, and it is not actually installed properly
 	 */
-	case VEC_EXCPT02:
 	case VEC_EXCPT04 ... VEC_EXCPT15:
 		info.si_code = ILL_ILLPARAOP;
 		sig = SIGILL;