diff options
| author | Hardik Arya <harya@codeaurora.org> | 2018-10-09 18:07:28 +0530 |
|---|---|---|
| committer | Hardik Arya <harya@codeaurora.org> | 2019-02-05 14:31:11 +0530 |
| commit | aca00daec5e560e9f5f63bb572296a1c711b6f5b (patch) | |
| tree | bfca719c73cb9e105dd49fa950824da5d763a591 /drivers/char | |
| parent | 946085b74b1073b8cc921e912cea18aa36d64f3a (diff) | |
diag: Update hdlc disable protection to avoid deadlock
Currently there is a possibility of deadlock while processing
apps data. The patch updates the scope of hdlc_disable_mutex
to avoid the deadlock situation.
Change-Id: I070e1a546a016fdd854ad413c03c0bc6f192c516
Signed-off-by: Hardik Arya <harya@codeaurora.org>
Diffstat (limited to 'drivers/char')
| -rw-r--r-- | drivers/char/diag/diagchar_core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/char/diag/diagchar_core.c b/drivers/char/diag/diagchar_core.c index 6df597dfa750..0bdda10ce845 100644 --- a/drivers/char/diag/diagchar_core.c +++ b/drivers/char/diag/diagchar_core.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2008-2018, The Linux Foundation. All rights reserved. +/* Copyright (c) 2008-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -3081,13 +3081,13 @@ static int diag_user_process_apps_data(const char __user *buf, int len, mutex_lock(&apps_data_mutex); mutex_lock(&driver->hdlc_disable_mutex); hdlc_disabled = driver->p_hdlc_disabled[APPS_DATA]; + mutex_unlock(&driver->hdlc_disable_mutex); if (hdlc_disabled) ret = diag_process_apps_data_non_hdlc(user_space_data, len, pkt_type); else ret = diag_process_apps_data_hdlc(user_space_data, len, pkt_type); - mutex_unlock(&driver->hdlc_disable_mutex); mutex_unlock(&apps_data_mutex); diagmem_free(driver, user_space_data, mempool); |
