aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/diag/diagchar.h1
-rw-r--r--drivers/char/diag/diagchar_core.c10
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)
{