qcacmn: Remove freed DP structures from minidump

Remove entries previously added to minidump during
data-path detach.

Change-Id: Ib69803e8ea58e5b4e0f045d3037730a5b6700c8d
diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c
index 914eea9..7f23f89 100644
--- a/dp/wifi3.0/dp_main.c
+++ b/dp/wifi3.0/dp_main.c
@@ -2091,8 +2091,11 @@
 				FL("Link descriptor memory alloc failed"));
 			goto fail;
 		}
-		qdf_minidump_log((void *)(soc->link_desc_banks[i].base_vaddr),
-			soc->link_desc_banks[i].size, "link_desc_bank");
+		if (!dp_is_soc_reinit(soc)) {
+			qdf_minidump_log(soc->link_desc_banks[i].base_vaddr,
+					 soc->link_desc_banks[i].size,
+					 "link_desc_bank");
+		}
 	}
 
 	if (last_bank_size) {
@@ -2123,8 +2126,11 @@
 			(unsigned long)(
 			soc->link_desc_banks[i].base_vaddr_unaligned));
 
-		qdf_minidump_log((void *)(soc->link_desc_banks[i].base_vaddr),
-			soc->link_desc_banks[i].size, "link_desc_bank");
+		if (!dp_is_soc_reinit(soc)) {
+			qdf_minidump_log(soc->link_desc_banks[i].base_vaddr,
+					 soc->link_desc_banks[i].size,
+					 "link_desc_bank");
+		}
 	}
 
 
@@ -2142,10 +2148,9 @@
 			goto fail;
 		}
 
-		qdf_minidump_log(
-			(void *)(soc->wbm_idle_link_ring.base_vaddr_unaligned),
-			soc->wbm_idle_link_ring.alloc_size,
-			"wbm_idle_link_ring");
+		qdf_minidump_log(soc->wbm_idle_link_ring.base_vaddr_unaligned,
+				 soc->wbm_idle_link_ring.alloc_size,
+				 "wbm_idle_link_ring");
 
 		hal_srng_access_start_unlocked(soc->hal_soc,
 			soc->wbm_idle_link_ring.hal_srng);
@@ -2304,6 +2309,8 @@
 	int i;
 
 	if (soc->wbm_idle_link_ring.hal_srng) {
+		qdf_minidump_remove(
+			soc->wbm_idle_link_ring.base_vaddr_unaligned);
 		dp_srng_cleanup(soc, &soc->wbm_idle_link_ring,
 			WBM_IDLE_LINK, 0);
 	}
@@ -2320,6 +2327,7 @@
 
 	for (i = 0; i < MAX_LINK_DESC_BANKS; i++) {
 		if (soc->link_desc_banks[i].base_vaddr_unaligned) {
+			qdf_minidump_remove(soc->link_desc_banks[i].base_vaddr);
 			qdf_mem_free_consistent(soc->osdev, soc->osdev->dev,
 				soc->link_desc_banks[i].size,
 				soc->link_desc_banks[i].base_vaddr_unaligned,
@@ -2756,9 +2764,9 @@
 		goto fail1;
 	}
 
-	qdf_minidump_log(
-		(void *)(soc->wbm_desc_rel_ring.base_vaddr_unaligned),
-		soc->wbm_desc_rel_ring.alloc_size, "wbm_desc_rel_ring");
+	qdf_minidump_log(soc->wbm_desc_rel_ring.base_vaddr_unaligned,
+			 soc->wbm_desc_rel_ring.alloc_size,
+			 "wbm_desc_rel_ring");
 
 	soc->num_tcl_data_rings = 0;
 	/* Tx data rings */
@@ -3379,17 +3387,18 @@
 	struct dp_soc *soc = (struct dp_soc *)txrx_soc;
 	struct dp_pdev *pdev = NULL;
 
-	if (dp_is_soc_reinit(soc))
+	if (dp_is_soc_reinit(soc)) {
 		pdev = soc->pdev_list[pdev_id];
-	else
+	} else {
 		pdev = qdf_mem_malloc(sizeof(*pdev));
+		qdf_minidump_log(pdev, sizeof(*pdev), "dp_pdev");
+	}
 
 	if (!pdev) {
 		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
 			FL("DP PDEV memory allocation failed"));
 		goto fail0;
 	}
-	qdf_minidump_log((void *)pdev, sizeof(*pdev), "dp_pdev");
 
 	/*
 	 * Variable to prevent double pdev deinitialization during
@@ -3940,6 +3949,7 @@
 	}
 
 	soc->pdev_list[pdev->pdev_id] = NULL;
+	qdf_minidump_remove(pdev);
 	qdf_mem_free(pdev);
 }
 
@@ -4135,6 +4145,7 @@
 
 	/* Free the ring memories */
 	/* Common rings */
+	qdf_minidump_remove(soc->wbm_desc_rel_ring.base_vaddr_unaligned);
 	dp_srng_cleanup(soc, &soc->wbm_desc_rel_ring, SW2WBM_RELEASE, 0);
 
 	dp_tx_soc_detach(soc);
@@ -4188,6 +4199,7 @@
 
 	wlan_cfg_soc_detach(soc->wlan_cfg_ctx);
 
+	qdf_minidump_remove(soc);
 	qdf_mem_free(soc);
 }
 
@@ -4543,7 +4555,7 @@
 	/* initialize work queue for stats processing */
 	qdf_create_work(0, &soc->htt_stats.work, htt_t2h_stats_handler, soc);
 
-	qdf_minidump_log((void *)soc, sizeof(*soc), "dp_soc");
+	qdf_minidump_log(soc, sizeof(*soc), "dp_soc");
 
 	return QDF_STATUS_SUCCESS;
 }
diff --git a/hal/wifi3.0/hal_srng.c b/hal/wifi3.0/hal_srng.c
index a49f4fd..9fe5101 100644
--- a/hal/wifi3.0/hal_srng.c
+++ b/hal/wifi3.0/hal_srng.c
@@ -300,7 +300,7 @@
 			"%s: hal_soc allocation failed", __func__);
 		goto fail0;
 	}
-	qdf_minidump_log((void *)hal, sizeof(*hal), "hal_soc");
+	qdf_minidump_log(hal, sizeof(*hal), "hal_soc");
 	hal->hif_handle = hif_handle;
 	hal->dev_base_addr = hif_get_dev_ba(hif_handle);
 	hal->qdf_dev = qdf_dev;
@@ -393,6 +393,7 @@
 	qdf_mem_free_consistent(hal->qdf_dev, hal->qdf_dev->dev,
 		sizeof(*(hal->shadow_wrptr_mem_vaddr)) * HAL_MAX_LMAC_RINGS,
 		hal->shadow_wrptr_mem_vaddr, hal->shadow_wrptr_mem_paddr, 0);
+	qdf_minidump_remove(hal);
 	qdf_mem_free(hal);
 
 	return;