diff options
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/diag/diagchar.h | 1 | ||||
-rw-r--r-- | drivers/char/diag/diagchar_core.c | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/char/diag/diagchar.h b/drivers/char/diag/diagchar.h index 5d5e62e..67b63c7 100644 --- a/drivers/char/diag/diagchar.h +++ b/drivers/char/diag/diagchar.h @@ -268,6 +268,7 @@ struct diagchar_dev { struct work_struct diag_usb_read_complete_work; struct diag_request *usb_read_mdm_ptr; struct diag_request *write_ptr_mdm; + struct pid *silent_log_pid; #endif }; diff --git a/drivers/char/diag/diagchar_core.c b/drivers/char/diag/diagchar_core.c index 300b1d7..60446d3 100644 --- a/drivers/char/diag/diagchar_core.c +++ b/drivers/char/diag/diagchar_core.c @@ -524,6 +524,16 @@ long diagchar_ioctl(struct file *filp, return success; } +void silent_log_panic_handler(void) +{ + if (driver->silent_log_pid) { + pr_info("%s: killing silent log...\n", __func__); + kill_pid(driver->silent_log_pid, SIGTERM, 1); + driver->silent_log_pid = NULL; + } +} +EXPORT_SYMBOL(silent_log_panic_handler); + static int diagchar_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) { |