소스 검색

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 8 년 전
부모
커밋
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);