Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4aa6b5c authored by Sivan Reinstein's avatar Sivan Reinstein
Browse files

msm: ipa: destroy QMI client handle in IPA QMI clean-up



This change fixes a QMI client handle leak found in IPA.
The issue is caused due to the fact that during the clean-up,
rmnet_ipa unregisters from QMI events, causing QMI_SERVER_EXIT
to not be called, and handle clean-up to not be invoked.
The change invokes the handle clean-up explicitly.

CRs-fixed: 767260
Change-Id: I4c2047d08d9c9608ab80dd2673983794832f9ad5
Acked-by: default avatarDavid Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: default avatarSivan Reinsten <sivanr@codeaurora.org>
parent 51c75088
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -758,6 +758,8 @@ void ipa_qmi_service_exit(void)
	}

	/* qmi-client */

	/* Unregister from events */
	ret = qmi_svc_event_notifier_unregister(IPA_Q6_SERVICE_SVC_ID,
				IPA_Q6_SVC_VERS,
				IPA_Q6_SERVICE_INS_ID, &ipa_q6_clnt_nb);
@@ -766,6 +768,9 @@ void ipa_qmi_service_exit(void)
		"Error qmi_svc_event_notifier_unregister service %d, ret=%d\n",
		IPA_Q6_SERVICE_SVC_ID, ret);

	/* Release client handle */
	ipa_q6_clnt_svc_exit(0);

	if (ipa_clnt_req_workqueue) {
		destroy_workqueue(ipa_clnt_req_workqueue);
		ipa_clnt_req_workqueue = NULL;