Forráskód Böngészése

qcacld-3.0: Free rx_buff_list in htt_detach

qcacld-2.0 to qcacld-3.0 propagation

rx_buff_list is not getting freed in
htt_detach and causing memory leak.
Change-Id: Ia9d6660674c5b4570d337cb66995fc2449145d59
CRs-Fixed: 918223
Govind Singh 9 éve
szülő
commit
c5ce2905e5
2 módosított fájl, 18 hozzáadás és 0 törlés
  1. 1 0
      core/dp/htt/htt.c
  2. 17 0
      core/dp/htt/htt_internal.h

+ 1 - 0
core/dp/htt/htt.c

@@ -350,6 +350,7 @@ void htt_detach(htt_pdev_handle pdev)
 #endif
 	HTT_TX_MUTEX_DESTROY(&pdev->htt_tx_mutex);
 	HTT_TX_NBUF_QUEUE_MUTEX_DESTROY(pdev);
+	htt_rx_dbg_rxbuf_deinit(pdev);
 }
 
 /**

+ 17 - 0
core/dp/htt/htt_internal.h

@@ -571,6 +571,18 @@ void htt_rx_dbg_rxbuf_reset(struct htt_pdev_t *pdev,
 		}
 	}
 }
+/**
+ * htt_rx_dbg_rxbuf_deinit() - deinit debug rx buff list
+ * @pdev: pdev handle
+ *
+ * Return: none
+ */
+static inline
+void htt_rx_dbg_rxbuf_deinit(struct htt_pdev_t *pdev)
+{
+	if (pdev->rx_buff_list)
+		cdf_mem_free(pdev->rx_buff_list);
+}
 #else
 static inline
 void htt_rx_dbg_rxbuf_init(struct htt_pdev_t *pdev)
@@ -590,5 +602,10 @@ void htt_rx_dbg_rxbuf_reset(struct htt_pdev_t *pdev,
 {
 	return;
 }
+static inline
+void htt_rx_dbg_rxbuf_deinit(struct htt_pdev_t *pdev)
+{
+	return;
+}
 #endif
 #endif /* _HTT_INTERNAL__H_ */