soc: qcom: Acquire mutex before checking for service

Acquire lock before you check if the service exist. This leads to
race condition where you end up adding same service multiple times
in service_list and make multiple registration request to servreg.

CRs-Fixed: 1078753
Change-Id: I8ae92ee1d26bd6687b6b2b4cbed1032485d7450e
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
This commit is contained in:
Puja Gupta 2016-10-14 17:35:51 -07:00
parent 4f983fd1aa
commit f90fbfe1c5

View file

@ -605,8 +605,8 @@ void *service_notif_register_notifier(const char *service_path, int instance_id,
if (!service_path || !instance_id || !nb)
return ERR_PTR(-EINVAL);
service_notif = _find_service_info(service_path);
mutex_lock(&notif_add_lock);
service_notif = _find_service_info(service_path);
if (!service_notif) {
service_notif = (struct service_notif_info *)add_service_notif(
service_path,