Browse Source

qcacmn: Add AST entry type check

There will not be any AST entry
for HMWDS Seconday

Hence add check for the same in
del_peer_del_ast to avoid deletion
for such entries

Change-Id: Ia96856d93531200e27e0d0a97b80ed6ec1baa42b
phadiman 6 years ago
parent
commit
6f1af61798
3 changed files with 6 additions and 5 deletions
  1. 4 2
      dp/wifi3.0/dp_main.c
  2. 2 1
      dp/wifi3.0/dp_peer.c
  3. 0 2
      dp/wifi3.0/dp_types.h

+ 4 - 2
dp/wifi3.0/dp_main.c

@@ -928,7 +928,8 @@ static void dp_print_ast_stats(struct dp_soc *soc)
 							" ast_idx = %d"
 							" ast_hash = %d"
 							" pdev_id = %d"
-							" vdev_id = %d",
+							" vdev_id = %d"
+							" wmi_sent = %d",
 							++num_entries,
 							ase->mac_addr.raw,
 							ase->peer->mac_addr.raw,
@@ -939,7 +940,8 @@ static void dp_print_ast_stats(struct dp_soc *soc)
 							ase->ast_idx,
 							ase->ast_hash_value,
 							ase->pdev_id,
-							ase->vdev_id);
+							ase->vdev_id,
+							ase->wmi_sent);
 				}
 			}
 		}

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

@@ -646,7 +646,8 @@ void dp_peer_del_ast(struct dp_soc *soc, struct dp_ast_entry *ast_entry)
 {
 	struct dp_peer *peer = ast_entry->peer;
 
-	if (ast_entry->next_hop) {
+	if (ast_entry->next_hop &&
+	    ast_entry->type != CDP_TXRX_AST_TYPE_WDS_HM_SEC) {
 		dp_peer_ast_send_wds_del(soc, ast_entry);
 	} else {
 		/*

+ 0 - 2
dp/wifi3.0/dp_types.h

@@ -673,10 +673,8 @@ struct dp_ast_entry {
 	uint16_t ast_hash_value;
 	qdf_atomic_t ref_cnt;
 	enum cdp_txrx_ast_entry_type type;
-#ifdef AST_HKV1_WORKAROUND
 	bool wmi_sent;
 	void *cp_ctx;
-#endif
 	TAILQ_ENTRY(dp_ast_entry) ase_list_elem;
 	TAILQ_ENTRY(dp_ast_entry) hash_list_elem;
 };