浏览代码

qcacmn: Add support to delete AST on BE platforms

Add change to support deletion/cleanup of AST entries on host
for BE platforms(Waikiki) based on peer map and unmap event received
from FW.

Change-Id: I494f7beb572e81cf68cc1cf90864eea0d8125369
CRs-Fixed: 3237943
Santosh Anbu 3 年之前
父节点
当前提交
82fd1e58e2
共有 1 个文件被更改,包括 10 次插入4 次删除
  1. 10 4
      dp/wifi3.0/dp_peer.c

+ 10 - 4
dp/wifi3.0/dp_peer.c

@@ -1301,7 +1301,7 @@ void dp_peer_ast_hash_remove(struct dp_soc *soc,
 	struct dp_ast_entry *tmpase;
 	int found = 0;
 
-	if (soc->ast_offload_support)
+	if (soc->ast_offload_support && !soc->host_ast_db_enable)
 		return;
 
 	index = dp_peer_ast_hash_index(soc, &ase->mac_addr);
@@ -2433,7 +2433,7 @@ dp_peer_clean_wds_entries(struct dp_soc *soc, struct dp_peer *peer,
 {
 	uint32_t wds_deleted = 0;
 
-	if (soc->ast_offload_support)
+	if (soc->ast_offload_support && !soc->host_ast_db_enable)
 		return;
 
 	wds_deleted = dp_peer_ast_free_wds_entries(soc, peer);
@@ -3157,8 +3157,14 @@ dp_rx_peer_unmap_handler(struct dp_soc *soc, uint16_t peer_id,
 	struct dp_peer *peer;
 	struct dp_vdev *vdev = NULL;
 
-	if (soc->ast_offload_support && is_wds)
-		return;
+	/*
+	 * If FW AST offload is enabled and host AST DB is enabled,
+	 * the AST entries are created during peer map from FW.
+	 */
+	if (soc->ast_offload_support && is_wds) {
+		if (!soc->host_ast_db_enable)
+			return;
+	}
 
 	peer = __dp_peer_get_ref_by_id(soc, peer_id, DP_MOD_ID_HTT);