浏览代码

qcacmn: Add HW descriptor check before RX TID update

RX TID HW descriptor is first allocated in setup stage. When
failure case happens, it is got freed. This change adds a
check to make sure it's valid before updating RX TIDs.

Change-Id: I1326315b2eca4c50ef9ff5fa887386de4a796eb0
CRs-Fixed: 3227483
Yu Tian 3 年之前
父节点
当前提交
fe9866276b
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      dp/wifi3.0/dp_peer.c

+ 3 - 2
dp/wifi3.0/dp_peer.c

@@ -4164,8 +4164,9 @@ int dp_addba_resp_tx_completion_wifi3(struct cdp_soc_t *cdp_soc,
 	qdf_spin_lock_bh(&rx_tid->tid_lock);
 	qdf_spin_lock_bh(&rx_tid->tid_lock);
 	if (status) {
 	if (status) {
 		rx_tid->num_addba_rsp_failed++;
 		rx_tid->num_addba_rsp_failed++;
-		dp_rx_tid_update_wifi3(peer, tid, 1,
-				       IEEE80211_SEQ_MAX, false);
+		if (rx_tid->hw_qdesc_vaddr_unaligned)
+			dp_rx_tid_update_wifi3(peer, tid, 1,
+					       IEEE80211_SEQ_MAX, false);
 		rx_tid->ba_status = DP_RX_BA_INACTIVE;
 		rx_tid->ba_status = DP_RX_BA_INACTIVE;
 		qdf_spin_unlock_bh(&rx_tid->tid_lock);
 		qdf_spin_unlock_bh(&rx_tid->tid_lock);
 		dp_err("RxTid- %d addba rsp tx completion failed", tid);
 		dp_err("RxTid- %d addba rsp tx completion failed", tid);