diff --git a/drivers/char/diag/diagchar_core.c b/drivers/char/diag/diagchar_core.c index 62c88ab6738a6c02fa520e0ecd9046b9d0117692..6dbade43cfecdb9a01c2b18bfe4d5d2428ac5b71 100644 --- a/drivers/char/diag/diagchar_core.c +++ b/drivers/char/diag/diagchar_core.c @@ -1784,7 +1784,9 @@ long diagchar_ioctl(struct file *filp, result = diag_ioctl_dci_log_status(ioarg); break; case DIAG_IOCTL_DCI_EVENT_STATUS: + mutex_lock(&driver->dci_mutex); result = diag_ioctl_dci_event_status(ioarg); + mutex_unlock(&driver->dci_mutex); break; case DIAG_IOCTL_DCI_CLEAR_LOGS: if (copy_from_user((void *)&client_id, (void __user *)ioarg,