Loading drivers/char/diag/diagchar.h +5 −0 Original line number Diff line number Diff line Loading @@ -473,6 +473,11 @@ struct diag_logging_mode_param_t { int peripheral; } __packed; struct diag_con_all_param_t { uint32_t diag_con_all; uint32_t num_peripherals; }; struct diag_md_session_t { int pid; int peripheral_mask; Loading drivers/char/diag/diagchar_core.c +20 −0 Original line number Diff line number Diff line Loading @@ -2480,6 +2480,7 @@ long diagchar_compat_ioctl(struct file *filp, uint16_t remote_dev; struct diag_dci_client_tbl *dci_client = NULL; struct diag_logging_mode_param_t mode_param; struct diag_con_all_param_t con_param; switch (iocmd) { case DIAG_IOCTL_COMMAND_REG: Loading Loading @@ -2598,6 +2599,15 @@ long diagchar_compat_ioctl(struct file *filp, return -EFAULT; result = diag_ioctl_query_pd_logging(&mode_param); break; case DIAG_IOCTL_QUERY_CON_ALL: con_param.diag_con_all = DIAG_CON_ALL; con_param.num_peripherals = NUM_PERIPHERALS; if (copy_to_user((void __user *)ioarg, &con_param, sizeof(struct diag_con_all_param_t))) result = -EFAULT; else result = 0; break; } return result; } Loading @@ -2612,6 +2622,7 @@ long diagchar_ioctl(struct file *filp, uint16_t remote_dev; struct diag_dci_client_tbl *dci_client = NULL; struct diag_logging_mode_param_t mode_param; struct diag_con_all_param_t con_param; switch (iocmd) { case DIAG_IOCTL_COMMAND_REG: Loading Loading @@ -2730,6 +2741,15 @@ long diagchar_ioctl(struct file *filp, return -EFAULT; result = diag_ioctl_query_pd_logging(&mode_param); break; case DIAG_IOCTL_QUERY_CON_ALL: con_param.diag_con_all = DIAG_CON_ALL; con_param.num_peripherals = NUM_PERIPHERALS; if (copy_to_user((void __user *)ioarg, &con_param, sizeof(struct diag_con_all_param_t))) result = -EFAULT; else result = 0; break; } return result; } Loading include/linux/diagchar.h +1 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ #define DIAG_IOCTL_REGISTER_CALLBACK 37 #define DIAG_IOCTL_HDLC_TOGGLE 38 #define DIAG_IOCTL_QUERY_PD_LOGGING 39 #define DIAG_IOCTL_QUERY_CON_ALL 40 /* PC Tools IDs */ #define APQ8060_TOOLS_ID 4062 Loading Loading
drivers/char/diag/diagchar.h +5 −0 Original line number Diff line number Diff line Loading @@ -473,6 +473,11 @@ struct diag_logging_mode_param_t { int peripheral; } __packed; struct diag_con_all_param_t { uint32_t diag_con_all; uint32_t num_peripherals; }; struct diag_md_session_t { int pid; int peripheral_mask; Loading
drivers/char/diag/diagchar_core.c +20 −0 Original line number Diff line number Diff line Loading @@ -2480,6 +2480,7 @@ long diagchar_compat_ioctl(struct file *filp, uint16_t remote_dev; struct diag_dci_client_tbl *dci_client = NULL; struct diag_logging_mode_param_t mode_param; struct diag_con_all_param_t con_param; switch (iocmd) { case DIAG_IOCTL_COMMAND_REG: Loading Loading @@ -2598,6 +2599,15 @@ long diagchar_compat_ioctl(struct file *filp, return -EFAULT; result = diag_ioctl_query_pd_logging(&mode_param); break; case DIAG_IOCTL_QUERY_CON_ALL: con_param.diag_con_all = DIAG_CON_ALL; con_param.num_peripherals = NUM_PERIPHERALS; if (copy_to_user((void __user *)ioarg, &con_param, sizeof(struct diag_con_all_param_t))) result = -EFAULT; else result = 0; break; } return result; } Loading @@ -2612,6 +2622,7 @@ long diagchar_ioctl(struct file *filp, uint16_t remote_dev; struct diag_dci_client_tbl *dci_client = NULL; struct diag_logging_mode_param_t mode_param; struct diag_con_all_param_t con_param; switch (iocmd) { case DIAG_IOCTL_COMMAND_REG: Loading Loading @@ -2730,6 +2741,15 @@ long diagchar_ioctl(struct file *filp, return -EFAULT; result = diag_ioctl_query_pd_logging(&mode_param); break; case DIAG_IOCTL_QUERY_CON_ALL: con_param.diag_con_all = DIAG_CON_ALL; con_param.num_peripherals = NUM_PERIPHERALS; if (copy_to_user((void __user *)ioarg, &con_param, sizeof(struct diag_con_all_param_t))) result = -EFAULT; else result = 0; break; } return result; } Loading
include/linux/diagchar.h +1 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ #define DIAG_IOCTL_REGISTER_CALLBACK 37 #define DIAG_IOCTL_HDLC_TOGGLE 38 #define DIAG_IOCTL_QUERY_PD_LOGGING 39 #define DIAG_IOCTL_QUERY_CON_ALL 40 /* PC Tools IDs */ #define APQ8060_TOOLS_ID 4062 Loading