diff options
Diffstat (limited to 'drivers/misc/pvpanic.c')
| -rw-r--r-- | drivers/misc/pvpanic.c | 12 | 
1 files changed, 9 insertions, 3 deletions
| diff --git a/drivers/misc/pvpanic.c b/drivers/misc/pvpanic.c index 95ff7c5a1dfb..a6e1a8983e1f 100644 --- a/drivers/misc/pvpanic.c +++ b/drivers/misc/pvpanic.c @@ -10,16 +10,16 @@  #include <linux/acpi.h>  #include <linux/kernel.h> +#include <linux/kexec.h>  #include <linux/module.h>  #include <linux/of.h>  #include <linux/of_address.h>  #include <linux/platform_device.h>  #include <linux/types.h> +#include <uapi/misc/pvpanic.h>  static void __iomem *base; -#define PVPANIC_PANICKED        (1 << 0) -  MODULE_AUTHOR("Hu Tao <hutao@cn.fujitsu.com>");  MODULE_DESCRIPTION("pvpanic device driver");  MODULE_LICENSE("GPL"); @@ -34,7 +34,13 @@ static int  pvpanic_panic_notify(struct notifier_block *nb, unsigned long code,  		     void *unused)  { -	pvpanic_send_event(PVPANIC_PANICKED); +	unsigned int event = PVPANIC_PANICKED; + +	if (kexec_crash_loaded()) +		event = PVPANIC_CRASH_LOADED; + +	pvpanic_send_event(event); +  	return NOTIFY_DONE;  } | 
