Merge "soc: qcom: Use syncronization while freeing the qmi_client data"

This commit is contained in:
Linux Build Service Account 2016-10-05 19:29:28 -07:00 committed by Gerrit - the friendly Code Review server
commit d1db9d219b

View file

@ -114,6 +114,7 @@ struct qmi_client_info {
}; };
static LIST_HEAD(qmi_client_list); static LIST_HEAD(qmi_client_list);
static DEFINE_MUTEX(qmi_list_lock); static DEFINE_MUTEX(qmi_list_lock);
static DEFINE_MUTEX(qmi_client_release_lock);
static DEFINE_MUTEX(notif_add_lock); static DEFINE_MUTEX(notif_add_lock);
@ -417,9 +418,11 @@ static void root_service_service_exit(struct qmi_client_info *data,
* Destroy client handle and try connecting when * Destroy client handle and try connecting when
* service comes up again. * service comes up again.
*/ */
mutex_lock(&qmi_client_release_lock);
data->service_connected = false; data->service_connected = false;
qmi_handle_destroy(data->clnt_handle); qmi_handle_destroy(data->clnt_handle);
data->clnt_handle = NULL; data->clnt_handle = NULL;
mutex_unlock(&qmi_client_release_lock);
} }
static void root_service_exit_work(struct work_struct *work) static void root_service_exit_work(struct work_struct *work)