diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c index 5f49280..3ff609d 100644 --- a/drivers/char/sysrq.c +++ b/drivers/char/sysrq.c @@ -93,10 +93,15 @@ #else #define sysrq_unraw_op (*(struct sysrq_key_op *)0) #endif /* CONFIG_VT */ -#ifdef CONFIG_KEXEC static void sysrq_handle_crashdump(int key, struct tty_struct *tty) { +#ifdef CONFIG_KEXEC crash_kexec(get_irq_regs()); + /* can't get here if crash image is loaded */ + printk("Kexec: Warning: crash image not loaded\n"); +#endif + if (panic_on_oops) + panic("SysRq-triggered panic!\n"); } static struct sysrq_key_op sysrq_crashdump_op = { .handler = sysrq_handle_crashdump, @@ -104,9 +109,6 @@ static struct sysrq_key_op sysrq_crashdu .action_msg = "Trigger a crashdump", .enable_mask = SYSRQ_ENABLE_DUMP, }; -#else -#define sysrq_crashdump_op (*(struct sysrq_key_op *)0) -#endif static void sysrq_handle_reboot(int key, struct tty_struct *tty) {