Merge 257165583ad6af184e873df632232862b45b5246 on remote branch

Change-Id: Ibe4599b4ce8150ab4fae383b082015e8caad5861
diff --git a/drivers/platform/msm/ipa/ipa_rm_peers_list.c b/drivers/platform/msm/ipa/ipa_rm_peers_list.c
index b6046fd..40ac927 100644
--- a/drivers/platform/msm/ipa/ipa_rm_peers_list.c
+++ b/drivers/platform/msm/ipa/ipa_rm_peers_list.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
  * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved
  */
 
 #include <linux/slab.h>
@@ -68,6 +69,7 @@
 
 list_alloc_fail:
 	kfree(*peers_list);
+	*peers_list = NULL;
 bail:
 	return result;
 }
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 79bd5de..eb61f70 100644
--- a/drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c
+++ b/drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c
@@ -549,8 +549,8 @@
 
 	mutex_lock(&ipa3_qmi_lock);
 
-	if (!client_handle) {
-
+	if (client_handle != ipa_q6_clnt) {
+		IPADBG("Q6 QMI clinet pointer already freed\n");
 		mutex_unlock(&ipa3_qmi_lock);
 		return -EINVAL;
 	}
@@ -2131,6 +2131,7 @@
 
 	workqueues_stopped = true;
 
+	IPADBG("Entry\n");
 	/* qmi-service */
 	if (ipa3_svc_handle != NULL) {
 		qmi_handle_release(ipa3_svc_handle);
@@ -2163,6 +2164,7 @@
 	ipa3_qmi_indication_fin = false;
 	ipa3_modem_init_cmplt = false;
 	send_qmi_init_q6 = true;
+	IPADBG("Exit\n");
 }
 
 void ipa3_qmi_stop_workqueues(void)