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 #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, _