瀏覽代碼

qcacld-3.0: Add SKB to internal tracking table in ipa i2w path

When define MEMORY_DEBUG macro for debugging memory issue,
even in normal case it still will report double free for ipa
i2w SKB.

Fix is to add ipa i2w SKB to internal tracking table.

Change-Id: I27b0afc79e8c39c99a73ec9a65a348ebf85960b6
CRs-Fixed: 2145344
hqu 7 年之前
父節點
當前提交
92ee8cac8d
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      core/dp/txrx/ol_tx.c

+ 9 - 0
core/dp/txrx/ol_tx.c

@@ -292,6 +292,8 @@ qdf_nbuf_t ol_tx_send_ipa_data_frame(struct cdp_vdev *vdev, qdf_nbuf_t skb)
 	qdf_nbuf_t ret;
 
 	if (qdf_unlikely(!pdev)) {
+		qdf_net_buf_debug_acquire_skb(skb, __FILE__, __LINE__);
+
 		ol_txrx_err("%s: pdev is NULL", __func__);
 		return skb;
 	}
@@ -303,6 +305,13 @@ qdf_nbuf_t ol_tx_send_ipa_data_frame(struct cdp_vdev *vdev, qdf_nbuf_t skb)
 
 	/* Terminate the (single-element) list of tx frames */
 	qdf_nbuf_set_next(skb, NULL);
+
+	/*
+	 * Add SKB to internal tracking table before further processing
+	 * in WLAN driver.
+	 */
+	qdf_net_buf_debug_acquire_skb(skb, __FILE__, __LINE__);
+
 	ret = OL_TX_SEND((struct ol_txrx_vdev_t *)vdev, skb);
 	if (ret) {
 		ol_txrx_dbg("%s: Failed to tx", __func__);