summaryrefslogtreecommitdiff
path: root/drivers/platform/msm
diff options
context:
space:
mode:
authorGhanim Fodi <gfodi@codeaurora.org>2017-07-09 12:09:11 +0300
committerGhanim Fodi <gfodi@codeaurora.org>2017-07-09 12:09:11 +0300
commit5c8cebfbe59a4063f79d3f67bdaea6d88a1b111c (patch)
treea8fa530857ad0b52b7af5213c5fdaaa8334472fc /drivers/platform/msm
parent3ec8bfc9bb3a1f1a8584074f914c1d92f052b7f1 (diff)
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 <gfodi@codeaurora.org>
Diffstat (limited to 'drivers/platform/msm')
-rw-r--r--drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c3
1 files changed, 3 insertions, 0 deletions
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;