浏览代码

qcacld-3.0: At TSO segment free set owner TX desc to NULL

Currently at TSO segment free it's debug information is not
cleared. TSO segment TX descriptor owner is part of the debug
information. As a result even after segment free still its
point to stale TX descriptor as it's owner. In this change at
TSO segment free set TX desc owner to NULL.

Change-Id: I09f927d78c7b3aa4691aa69acbd4cef5002cf11d
CRs-Fixed: 2063433
Sravan Kumar Kairam 7 年之前
父节点
当前提交
3d5c118ec6
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      core/dp/txrx/ol_tx_desc.c

+ 4 - 0
core/dp/txrx/ol_tx_desc.c

@@ -767,6 +767,9 @@ ol_tso_seg_dbg_sanitize(struct qdf_tso_seg_elem_t *tsoseg)
 
 	if (tsoseg != NULL) {
 		txdesc = tsoseg->dbg.txdesc;
+		/* Don't validate if TX desc is NULL*/
+		if (!txdesc)
+			return 0;
 		if (txdesc->tso_desc != tsoseg)
 			qdf_tso_seg_dbg_bug("Owner sanity failed");
 		else
@@ -849,6 +852,7 @@ void ol_tso_free_segment(struct ol_txrx_pdev_t *pdev,
 	}
 	/* sanitize before free */
 	ol_tso_seg_dbg_sanitize(tso_seg);
+	qdf_tso_seg_dbg_setowner(tso_seg, NULL);
 	/*this tso seg is now a part of freelist*/
 	/* retain segment history, if debug is enabled */
 	qdf_tso_seg_dbg_zero(tso_seg);