From 5c8cebfbe59a4063f79d3f67bdaea6d88a1b111c Mon Sep 17 00:00:00 2001 From: Ghanim Fodi Date: Sun, 9 Jul 2017 12:09:11 +0300 Subject: [PATCH] msm: ipa3: Protect access to ipa3_qmi_ctx variable by lock ipa3_qmi_ctx is a global variable that may be accessed by different worker threads. Protect the access to it using mutex lock so that the access will be always atomic. Change-Id: Iaf0c95d66817833c8e8123b12e94a7a01ab8df2c CRs-fixed: 2056414 Signed-off-by: Ghanim Fodi --- drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c b/drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c index 0269bfba993f..690a9db67ff0 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c @@ -1177,10 +1177,13 @@ void ipa3_qmi_service_exit(void) } /* clean the QMI msg cache */ + mutex_lock(&ipa3_qmi_lock); if (ipa3_qmi_ctx != NULL) { vfree(ipa3_qmi_ctx); ipa3_qmi_ctx = NULL; } + mutex_unlock(&ipa3_qmi_lock); + ipa3_svc_handle = 0; ipa3_qmi_modem_init_fin = false; ipa3_qmi_indication_fin = false;