drivers/char/sysrq.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff -puN drivers/char/sysrq.c~kgdb-sysrq-g-fix drivers/char/sysrq.c
--- 25/drivers/char/sysrq.c~kgdb-sysrq-g-fix	2003-08-03 00:37:28.000000000 -0700
+++ 25-akpm/drivers/char/sysrq.c	2003-08-03 00:49:55.000000000 -0700
@@ -37,12 +37,18 @@
 #include <asm/ptrace.h>
 #ifdef CONFIG_KGDB_SYSRQ
 
-#define  GDB_OP &kgdb_op
-static struct sysrq_key_op kgdb_op={
-	handler:	(void*)breakpoint,
-	help_msg:	"kGdb ",
-	action_msg:	"Debug breakpoint\n",
+static void kgdb_sysrq(int key, struct pt_regs *pt_regs, struct tty_struct *tty)
+{
+	printk("kgdb sysrq\n");
+	breakpoint();
+}
+
+static struct sysrq_key_op kgdb_op = {
+	.handler	= kgdb_sysrq,
+	.help_msg	= "kGdb",
+	.action_msg	= "Debug breakpoint\n",
 };
+#define  GDB_OP &kgdb_op
 
 #else
 #define  GDB_OP NULL
@@ -252,7 +258,7 @@ static struct sysrq_key_op *sysrq_key_ta
 /* c */ NULL,
 /* d */	NULL,
 /* e */	&sysrq_term_op,
-/* f */	NULL,
+/* f */	GDB_OP,
 /* g */	GDB_OP,
 /* h */	NULL,
 /* i */	&sysrq_kill_op,

_