diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/soc/qcom/qmi_interface.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/soc/qcom/qmi_interface.c b/drivers/soc/qcom/qmi_interface.c index 0e7bf13c192b..685a0ec3c379 100644 --- a/drivers/soc/qcom/qmi_interface.c +++ b/drivers/soc/qcom/qmi_interface.c @@ -1995,8 +1995,10 @@ int qmi_svc_event_notifier_register(uint32_t service_id, svc_info_arr = kmalloc_array(num_servers, sizeof(*svc_info_arr), GFP_KERNEL); - if (!svc_info_arr) - return -ENOMEM; + if (!svc_info_arr) { + ret = -ENOMEM; + goto qmi_svc_event_notifier_register_err; + } num_servers = msm_ipc_router_lookup_server_name( &svc_name, svc_info_arr, @@ -2014,6 +2016,8 @@ int qmi_svc_event_notifier_register(uint32_t service_id, spin_unlock_irqrestore(&temp->nb_lock, flags); } } + +qmi_svc_event_notifier_register_err: mutex_unlock(&temp->svc_addr_list_lock); return ret; |
